¿Cómo se conocen entre sí los procesos en un sistema distribuido?

Hemos utilizado Redis y MQTT para permitir la comunicación entre múltiples servidores y procesos. Supongo que ejecutará procesos en varios servidores y desea un método para comunicarse entre ellos.

Redis funciona bastante bien. Es un almacén de datos basado en valores clave sin SQL. Está basado en RAM y es muy rápido. Debe instalar Redis en una máquina y dejar que las otras máquinas (donde se ejecutan sus procesos) lean (GET) y escriban (SET) en redis.

Redis usa pares de valores clave. Puede establecer una clave en un valor y OBTENER el valor en una clave o en todas las claves. Cada proceso puede establecer una clave, donde el nombre de la clave incluye la dirección IP del servidor y el valor es el PID del proceso. Cuando se crea un nuevo proceso, puede OBTENER todas las claves y conocer todos los servidores y procesos que ya se están ejecutando. Redis admite la coincidencia de patrones para que pueda acceder a todas las teclas o teclas con un patrón determinado.

Dependiendo de su idioma, entorno de tiempo de ejecución y sistema operativo:

  • Generalmente, a un proceso se le asigna una identificación y / o dirección en la creación. El proceso que crea un nuevo proceso puede capturar esa información y pasarla a otros procesos.
  • La información del proceso puede ser descubierta, por ejemplo, desde una tabla de procesos.

Esos son los dos mecanismos principales. Probablemente estoy olvidando algunos enfoques más oscuros.

Debe leer las secciones apropiadas de su idioma y / o manuales de usuario.