Почему Spark 1.6 не использует Akka?

Когда я читаю спарк-1.6 исходный кодМастер класс, метод receiveAndReply, кажется, не использует Akka. [СрВот.]

Почему он не использует Акку? И чем они заменили Акку?

Ответы на вопрос(1)

Мотивация сделать Spark независимой от Akka хорошо описана вSPARK-5293 что является основной задачей для проблем, связанных с Akka.

Цитировать оригинальное описание:

Spark зависит от Akka, поэтому пользователи не могут полагаться на разные версии, и в прошлом мы получали много запросов с просьбой о помощи по этой конкретной проблеме. Например, Spark Streaming может использоваться в качестве получателя сообщений Akka, но наша зависимость от Akka требует, чтобы действующие субъекты Akka также использовали идентичную версию Akka.

Поскольку использование Akka ограничено (в основном для RPC и однопоточного цикла событий), мы можем заменить его альтернативными реализациями RPC и общим циклом событий в Spark.

Как видите, основная причина проста - предоставить пользователям больше гибкости в создании собственных приложений.

Также устранена сложная зависимость, такая как Akka, которая в любом случае не использовалась Spark, что означает более низкую стоимость обслуживания.

 coder.chenzhi10 нояб. 2016 г., 10:59
Акка была замененаorg.apache.spark.rpc который обеспечивает интерфейс, аналогичный Akka, но использует Netty и Java NIO. Увидетьэтот коммит.

Ваш ответ на вопрос