apache-spark akka

apache spark - ¿Por qué Spark 1.6 no usa Akka?



apache-spark (1)

Cuando leo el código fuente de la clase Master spark-1.6, el método receiveAndReply no parece estar usando Akka. [Cf. here .]

¿Por qué no está utilizando Akka? ¿Y con qué reemplazaron a Akka?


La motivación para hacer que Spark sea independiente de Akka está bien descrita en SPARK-5293 que es una tarea general para los problemas relacionados con Akka.

Para citar la descripción original:

Spark depende de Akka, [por lo que] no es posible que los usuarios confíen en diferentes versiones, y hemos recibido muchas solicitudes en el pasado solicitando ayuda sobre este problema específico. Por ejemplo, Spark Streaming se puede usar como receptor de mensajes Akka, pero nuestra dependencia de Akka requiere que los actores Akka ascendentes también utilicen la versión idéntica de Akka.

Dado que nuestro uso de Akka es limitado (principalmente para RPC y bucle de eventos de un solo hilo), podemos reemplazarlo con implementaciones RPC alternativas y un bucle de eventos común en Spark.

Como puede ver, la razón principal es simple: dar a los usuarios más flexibilidad para crear sus propias aplicaciones.

También se elimina la dependencia compleja como Akka, que de todos modos no ha sido utilizada ampliamente por Spark, lo que significa un menor costo de mantenimiento.