Cómo habilitar la anulación de duplicación de strings en los procesadores de mensajes

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

En este documento, se explica cómo habilitar la deduplicación de cadenas en los procesadores de mensajes de Apigee Edge.

La deduplicación de cadenas es una función de Java que te ayuda a guardar la memoria ocupada por objetos String duplicados en aplicaciones de Java. Reduce el espacio en memoria de los objetos String en la memoria del montón de Java, ya que hace que los valores String duplicados o idénticos compartan el mismo array de caracteres.

El Message Processor de Apigee Edge es un componente basado en Java. El uso de la deduplicación de cadenas en un procesador de mensajes puede mejorar el rendimiento de tus proxies de API, ya que reduce el uso de memoria, en especial si los proxies de API usan cadenas en gran medida.

La función de deduplicación de cadenas solo se puede usar con el recolector de elementos no utilizados G1 (G1GC) en aplicaciones de Java. Si deseas habilitar esta función en el Message Processor, debes tener G1GC habilitado o habilitar G1GC y la deduplicación de cadenas juntos en el Message Processor.

Antes de comenzar

Habilita la deduplicación de cadenas en los procesadores de mensajes

En esta sección, se explica cómo habilitar la función de deduplicación de cadenas en los procesadores de mensajes de Edge. La deduplicación de cadenas se puede habilitar a través de la propiedad useStringDeduplication en el componente Message Processor. De forma predeterminada, esta propiedad se establece como falsa en los procesadores de mensajes. Para configurar cualquier propiedad en el procesador de mensajes, usa el token según la sintaxis que se describe en Cómo configurar Edge.

Para habilitar la deduplicación de cadenas en los procesadores de mensajes, realiza los siguientes pasos:

  1. Busca el token para la propiedad useStringDeduplication.
  2. Habilita useStringDeduplication en el procesador de mensajes.

Busca el token para la propiedad useStringDeduplication

En los siguientes pasos, se describe cómo ubicar el token para useStringDeduplication:

  1. Busca la propiedad useStringDeduplication en el origen del procesador de mensajes directorio /opt/apigee/edge-message-processor/source con el siguiente comando:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
  2. El resultado de este comando muestra el token para la propiedad del procesador de mensajes useStringDeduplication de la siguiente manera:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}

    En el ejemplo anterior, la cadena entre las etiquetas {T}{/T} es el nombre del token que puedes establecer en el archivo .properties del procesador de mensajes. Por lo tanto, el token para la propiedad useStringDeduplication es el siguiente:

    conf_system_useStringDeduplication

Habilita la deduplicación de cadenas en los procesadores de mensajes

En los siguientes pasos, se describe cómo habilitar la deduplicación de cadenas en los procesadores de mensajes de Apigee:

  1. Abre el archivo /opt/apigee/customer/application/message-processor.properties en la máquina del Message Processor en un editor. Si el archivo aún no existe, créalo. Por ejemplo:
    vi /opt/apigee/customer/application/message-processor.properties
  2. Agrega la siguiente línea a este archivo:
    conf_system_useStringDeduplication=true
  3. Guarda los cambios.
  4. Asegúrate de que este archivo de propiedades sea propiedad del usuario apigee. Por ejemplo:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Reinicia el Message Processor con el siguiente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Si tienes más de un Message Processor, repite estos pasos en todos los Message Processor.

Verifica la deduplicación de cadenas en los procesadores de mensajes

En esta sección, se explica cómo verificar que la deduplicación de cadenas se haya habilitado correctamente en los procesadores de mensajes.

Aunque uses el token conf_system_useStringDeduplication para habilitar la deduplicación de cadenas en el Message Processor, debes verificar que la propiedad real useStringDeduplication se haya establecido con el valor nuevo de la siguiente manera:

  1. Busca la propiedad useStringDeduplication en el /opt/apigee/edge-message-processor/conf directorio y verifica que se haya establecido con el valor nuevo. Por ejemplo:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
  2. Si la deduplicación de cadenas se habilita correctamente en el Message Processor, el comando anterior muestra el valor nuevo en el archivo system.properties.

    El resultado de muestra del comando anterior después de habilitar la deduplicación de cadenas en el Message Processor es el siguiente:

    /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true

    En el resultado de ejemplo, ten en cuenta que la propiedad useStringDeduplication se estableció con el valor nuevo true en system.properties. Esto indica que la deduplicación de cadenas se habilitó correctamente en el Message Processor.

  3. Si aún ves el valor anterior de la propiedad useStringDeduplication, entonces verifica que hayas seguido correctamente todos los pasos que se describen en Habilita la deduplicación de cadenas en los procesadores de mensajes. Si omitiste algún paso, repite todos los pasos de nuevo correctamente.
  4. Si aún no puedes habilitar la deduplicación de cadenas, comunícate con el equipo de asistencia de Apigee.

Próximos pasos

Habilita G1GC en los procesadores de mensajes