Documentation for a newer release is available. View Latest

Akka Discovery MongoDB

Este módulo permite a los usuarios de IPF usar MongoDB como un mecanismo de arranque de clúster (cluster bootstrap) para descubrir otros nodos en un clúster de Akka. Otros mecanismos incluyen Kubernetes, DNS, Consul, etc.

Cuándo usarlo

En el contexto de IPF, siempre debes intentar usar el método de descubrimiento de la API de Kubernetes.

Sin embargo, debes usar este método de descubrimiento solo cuando se cumpla todo lo siguiente:

  1. Los nodos de IPF se ejecutan en una configuración multi DC sobre Kubernetes

  2. Los DC están en la misma región metropolitana

  3. Los dos clústeres de Kubernetes no pueden acceder el uno al otro

  4. Los dos clústeres de Kubernetes sí pueden acceder el uno al otro a través de una WAN

  5. Los dos clústeres de Kubernetes pueden acceder a la misma instancia de MongoDB

Si IPF se ejecuta en un entorno multi-DC pero los dos clústeres de Kubernetes pueden comunicarse internamente, entonces debes seguir usando el mecanismo de descubrimiento recomendado de la API de Kubernetes, como se documenta aquí: aquí.

Cuándo no usarlo

La tabla siguiente muestra los distintos patrones de despliegue y cuándo usar qué mecanismo de descubrimiento:

Configuración Qué plugin usar Qué hacer

Un clúster de k8s

Kubernetes API

Usar metadatos y etiquetas preexistentes de k8s para que los nodos se descubran entre sí

Múltiples clústeres de k8s en múltiples DC, pero pueden comunicarse entre sí

Kubernetes API

Tratarlo como un único clúster de Akka extendido que es agnóstico a la infraestructura subyacente

Múltiples clústeres de k8s que no pueden comunicarse entre sí y no comparten infraestructura

Kubernetes API

Tratarlo como dos entornos IPF activos-activos separados

ADVERTENCIA: esta configuración podría introducir problemas imprevistos no relacionados con el descubrimiento. Habla sobre esta configuración con el soporte de IPF.

Unresolved include directive in modules/akka-discovery-mongodb/pages/home.adoc - include::partial$nav_es.adoc[]