Parte A:¿Cómo se distribuye Erlang?
Erlang tiene una gran cantidad de casos de éxito sobre la ejecución de los agentes concurrentes, por ejemplo, los millones de chats simultáneos en Facebook. Son millones de agentes, pero, por supuesto, no son millones de CPU en una red. Tengo problemas para encontrar métricas sobre qué tan bien Erlang escala cuando la escala es "horizontal" a través de una LAN/WAN.
Supongamos que tengo muchos (decenas de miles) nodos físicos (que ejecutan Erlang en Linux) que necesitan comunicarse y sincronizar pequeñas cantidades infrecuentes de datos a través de LAN/WAN. ¿En qué momento tendré cuellos de botella en las comunicaciones, no entre agentes, sino entre nodos físicos? (¿O será ésta sólo trabajo, asumiendo una red estable?)
Parte B:
entiendo (como un novato de Erlang, lo que significa que podría estar totalmente equivocado) que Erlang los nodos intentan todo conectarse y estar conscientes el uno del otro, lo que da como resultado una conexión N-2 de red punto a punto. Suponiendo que la parte A no solo funcione con N = 10K, ¿se puede configurar fácilmente Erlang (usando una configuración predeterminada o un texto repetitivo trivial, sin escribir una implementación completa de los algoritmos de agrupación/enrutamiento yo mismo) en nodos del clúster en manejables? grupos y enrutar mensajes de todo el sistema a través de la jerarquía de clúster/grupo?
¿Son los rangos que mencionó (<60, 60/150,> 150) empíricos o los extrajo de un estudio/artículo de investigación/documento técnico? –
¿Cómo se conectan diferentes clústeres de erlang juntos? ¿Es el protocolo fundamentalmente diferente de conectar un proceso de Erlang a otro? – CMCDragonkai