Примеры использования Akka Cluster, Cluster Sharding и Cluster singleton

Я пишу приложение Akka и хочу использовать функцию кластера Akka, которую предоставляет Typsafe. Я пытаюсь понять основное различие между Akka Cluster, Akka Cluster Singleton и Akka Cluster Sharding. Мне кажется, что они предоставляют похожие вещи.

В моем сценарии я хочу иметь кластер, в котором будут:

  • Актеры без гражданства, которые могут жить на любой машине (у меня их будет несколько)
  • Актеры без гражданства, которые я хочу, чтобы они жили в определенных машинах
  • Акторы с отслеживанием состояния, которые могут находиться на любой машине, но мне нужен только один их экземпляр во всем кластере и возможность перезапустить актор с его предыдущим состоянием в случае его смерти.

Исходя из того, что я прочитал, мне понадобится Akka Cluster для первого типа, Akka Cluster Singleton для второго типа и Akka Cluster Sharding для третьего типа. Верно ли мое предположение? Я ищу руководство, а также любые примеры в Интернете, если вы их знаете.


person hveiga    schedule 29.07.2014    source источник


Ответы (2)


«Актеры без гражданства, которые могут жить на любой машине» - это звучит как кластер акка.

«Актеры без сохранения состояния, которые я хочу, чтобы они жили на определенных машинах» - это звучит как синглтон кластера akka, но вы также можете использовать роли

«возможность перезапустить актера с его предыдущим состоянием в случае его смерти» - это звучит как Akka Cluster Sharding с akka-persistence.

person Will Sargent    schedule 01.08.2014

Взгляните на https://github.com/dnvriend/spray-ba-sharding и https://github.com/dnvriend/spray-ba-singleton для некоторого использования. кейс. Документация akka на самом деле довольно хороша. Также посмотрите шаблоны активатора.

person dnvriend    schedule 29.07.2014