Kubernetes Despliegue

Despliegue

HTMLos conectores pueden configurarse para realizar reintentos y utilizar el patrón de cortacircuito para proteger el HTM Servidor Http (para más información sobre cómo configurar esto, visite Conector).

Aquí tiene un ejemplo de ConfigMap que puede utilizar para desplegar HTM to Kubernetes:

 akka {
   remote.artery.canonical.hostname = ${POD_IP}
 # Use Kubernetes API to discover the cluster
   discovery {
     kubernetes-api {
       pod-label-selector = "app=%s"
     }
   }

   management {
 # use the Kubernetes API to create the cluster
     cluster.bootstrap {
       contact-point-discovery {
         discovery-method          = kubernetes-api
         service-name              = ${AKKA_CLUSTER_BOOTSTRAP_SERVICE_NAME}
         required-contact-point-nr = 1
         required-contact-point-nr = ${?REQUIRED_CONTACT_POINT_NR}
       }
     }
 # available from Akka management >= 1.0.0
     health-checks {
       readiness-path  = "health/ready"
       liveness-path   = "health/alive"
     }
   }

   actor {
     provider = cluster
   }

   cluster {
     seed-nodes = []
     downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider"
     split-brain-resolver {
       active-strategy = keep-majority
       stable-after = 20s
     }
     sharding {
       remember-entities = off
       handoff-timeout = 8s
       least-shard-allocation-strategy.rebalance-absolute-limit = 20
       rebalance-interval = 2s
       number-of-shards = 100
     }
   }
}

Consideraciones para CosmosDB en Azure

Por defecto,HTM registra 3 procesadores de eventos:

  • Tarea leer procesador de eventos secundarios

  • Procesador de eventos del lado de lectura del historial de tareas

  • Procesador de eventos de ejecución masiva

Estos procesadores registran sus propios flujos de procesadores de eventos, lo que consume más Unidades de Solicitud (RUs) en Cosmos DB.

Para ahorrar algunos RU en Cosmos DB, se puede utilizar DelegatingEventProcessor. En este caso, solo un procesador de eventos consume eventos del diario y luego delega los eventos a otros procesadores de eventos registrados.

La desventaja de DelegatingEventProcessor es que si el procesamiento del evento falla en cualquiera de los procesadores de eventos delegados, el mismo evento se reproducirá en todos los procesadores de eventos delegados (incluso si el evento fue procesado con éxito por otros). Cuando hay tres procesadores de eventos independientes, el evento que falla se reproducirá únicamente por el único procesador de eventos donde falló el procesamiento anterior.

Puede habilitar la Delegación Event Procesador utilizando la siguiente configuración

ipf.htm.event-processor.delegating.enabled = true
Cosmos DB para MongoDB no admite la creación de índices únicos en colecciones no vacías. HTMdetecta ipf.mongodb.database-mode = cosmosdb y crea automáticamente su índice compuesto sin unicidad para evitar errores de inicio.