2014-01-21 2 views
29

Я разработал свое приложение с Akka на одном JVM. Теперь я хочу распределить рабочую нагрузку на многих машинах. Я начал читать документацию и запутался.Разница между кластеризацией и удалением в Akka

Существует два способа сделать приложение Akka распределенным путем кластеризации и удаленного доступа. Я не понимаю разницу между ними. Если я понимаю правильно и исключают себя взаимно, так как в одной конфигурации необходимо использовать другой поставщик для справки актера:

akka.remote.RemoteActorRefProvider 
akka.cluster.ClusterActorRefProvider 

Так каков прецеденты? Когда я выберет одну вместо другой?

Может быть, кластеризация - это что-то вроде суперсети удалённости или, может быть, это наоборот?

ответ

32

Они не являются взаимоисключающими, поскольку кластеризация реализована поверх удаленных объектов. Основной особенностью удаленного доступа является прозрачность местоположения для ActorRefs. Кластеризация добавляет к этому распределенное членство. Редко использовать дистанционное использование, кластеризация является предпочтительной для большинства случаев использования.

+10

«Редко использовать дистанционное использование, кластеризация является предпочтительной для большинства случаев использования». - Это было бы неплохо добавить в документы. – sourcedelica

+10

Да, да. Тем более, что вы можете найти некоторые решения проблем на сайте AKKA - «HowTo: Common Patterns», которые концентрируются только на удалении. Я считаю, что они были написаны до того, как была введена кластеризация, и, честно говоря, это немного неопределило, на каком пути следовать. – almendar

5

Всегда лучше смотреть на код

https://github.com/akka/akka/blob/c2983c7225eeaa035af99e0affeb5f5c841668c4/akka-cluster/src/main/scala/akka/cluster/ClusterActorRefProvider.scala

private[akka] class ClusterActorRefProvider ... extends RemoteActorRefProvider 

Прежде всего ClusterActorRefProvider просто расширение RemoteActorRefProvider

Основные особенности кластер-Акка добавлен в удаляются:

  • кластер ширина обнаружения отказа
  • маршрутизаторы с Рутсами группы & возможностями бассейна

вы найдете аромат всех этих аддонов в исходном коде.