18 de julio de 2018

Definición: Akka + Java

Que es Akka, son unas librerías para diseñar sistemas flexibles y escalables, enfocadas en aplicaciones distribuidas usando programación concurrente usando un modelo de actores.

Akka esta escrita en el lenguaje Scala, pero debido a interoperatividad con Java ya que puede funcionar en la misma maquina virtual, se puede usar con el lenguaje Java. 

Akka maneja un modelo de actores, donde cada actor es una entidad que procesa mensajes enviados a este actor o que provienen de otros actores,  usando un modelo de programación asíncrona. Los actores no necesariamente pueden estar en el mismo ejecutable (.jar) pueden estar en otros sistemas y entre estos se pueden comunicar.

Akka tiene unas librerías para el manejo de un cluster, se pueden correr varias instancias del aplicativo y este se encarga de distribuir el trabajo,  adicionalmente incluye el proceso de descubrimiento del cluster (en todos los nodos donde se ejecute al app) y selección del líder. (Akka Cluster Bootstrap).