Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

220
Vistas
Akka Cluster Joining con DNS Load Balancing

Mirando la documentación del clúster de akka , parece que debe conocer los valores del servidor y del puerto de al menos 1 "nodo inicial" para unirse al clúster. El ejemplo application.conf indica claramente que el desarrollador necesita saber "host1" y "host2" al escribir el archivo:

 akka.cluster.seed-nodes = [ "akka.tcp://ClusterSystem@host1:2552", "akka.tcp://ClusterSystem@host2:2552"]

Pero considere la posibilidad de registrar cada nodo del clúster con un balanceador de carga de DNS. Por ejemplo: es posible instanciar 10 nodos que están todos registrados con un balanceador de carga detrás del nombre "foobar.cluster.com" de modo que el balanceador de carga enviará cada nueva conexión a uno de los 10 nodos al estilo round-robin.

¿Podría entonces configurar el nodo semilla en "akka.tcp://ClusterSystem@foobar.cluster.com:2552" ?

En otras palabras, ¿es posible usar nombres dinámicos de equilibrio de carga para unirse a un clúster akka?

A priori, existe un problema potencial: un nodo puede convertirse en el nodo semilla en el primer intento. Una posible solución a este problema es poner el mismo valor de nodo de inicialización varias veces en el archivo conf para tener una alta probabilidad de que finalmente se conecte a un nodo diferente:

 akka.cluster.seed-nodes = [ "akka.tcp://ClusterSystem@foobar.cluster.com:2552", "akka.tcp://ClusterSystem@foobar.cluster.com:2552", "akka.tcp://ClusterSystem@foobar.cluster.com:2552"]

Pero akka puede reducir todos esos valores a una sola llamada, ya que todos son exactamente iguales...

Gracias de antemano por su consideración y respuesta.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es posible, pero debe hacer la resolución de DNS usted mismo y luego unirse al clúster mediante programación. Esto se describe un poco aquí: http://doc.akka.io/docs/akka/current/scala/cluster-usage.html#Joining_to_Seed_Nodes

Entonces, primero necesitaría que su archivo de configuración contenga akka.cluster.seed-nodes = [] para deshabilitar la unión automática.

Luego, deberá resolver foobar.cluster.com para obtener una lista de nodos reales, es decir, 01.foobar.cluster.com , 02.foobar.cluster.com , ...

Los usaría para unirse al clúster: Cluster(system).joinSeedNodes(_list_of_nodes_with_port) .

Finalmente, recuerde que cuando el par de nombre de host y puerto al que se une Akka será diferente del par de nombre de host y puerto "lógico" que se usa para conectarse al sistema desde el exterior. Esto requiere una configuración especial

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda