Kubernetes Despliegue

Despliegue

 HTM Los conectores pueden ser configurados para realizar reintentos y utilizar el patrón de cortacircuito para proteger el HTM Http servidor
(para más información sobre cómo configurar esto, visite xref:connector:home.adoc[Conector]).

Aquí hay un ejemplo de ConfigMap que puede utilizarse para implementar 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 registros 3 event procesadores:

  • Tarea leer lado event procesador

  • Historial de tareas leído lado event procesador

  • Ejecución masiva event procesador

Estos procesadores registran su propio event flujos de procesador, que consumen más Unidades de Solicitud (RUs) en Cosmos DB.

Para ahorrar algunos RU en Cosmos DB, se puede utilizar DelegatingEventProcessor. En este caso, solo uno event el procesador consume events desde el diario y luego delegue events a otros registrados event procesadores.

La desventaja de DelegatingEventProcessor es que si el procesamiento del event falla en cualquiera de los delegados event procesadores, el mismo event se reproducirá a todos los delegados event procesadores (incluso si event fue procesado con éxito por otros). Cuando hay tres independientes event procesadores, luego el fallo event será reproducido solo por el único event procesador donde el procesamiento anterior failed.

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. HTM detecta ipf.mongodb.database-mode = cosmosdb y crea automáticamente su índice compuesto sin unicidad para evitar errores de inicio.