Afinación de la frecuencia de los mensajes según la carga del clúster
Estoy escribiendo una aplicación de clúster homogénea simple usando Akka 2.2.3 y Scala; un algoritmo de filtrado de partículas en el que cada nodo comparte datos con otros miembros del grupo en puntos aleatorios en el tiempo. Actualmente es una aplicación de investigación, no un sistema crítico para el negocio.
En la actualidad, cada nodo envía un mensaje de tamaño fijo a un nodo seleccionado al azar cada segundo. Esto funciona, pero me preocupa el rendimiento al escalar (por ejemplo, en la nube en lugar de local)
Los nodos pueden sobrecargarse enviando datosLos nodos pueden sobrecargarse con los mensajes entrantes de otros miembros del clústerLa red puede convertirse en el cuello de botella.Me gustaría ejecutar la aplicación con clústeres de tamaño en diferentes redes y lograr un buen rendimiento sin ajuste / monitoreo manual.¿Qué enfoques simples podría tomar para ajustar el tamaño y la frecuencia de los mensajes para mitigar las preocupaciones anteriores?