AKKA.Net Кластеризация и общий ресурс

Привет, я читаю и смотрю несколько видео на AKKA.Net и мне нравится то, что я вижу. Я хочу попробовать AKKA.net в имеющемся у меня приложении, но мне нужна помощь в разъяснении некоторых вещей

сценарий
Я хочу создать кластер Akka.net с:

  • 3 Узлы / Машины
  • общий ресурс (счетчик) между ними.
  • статистика общего ресурса, доступная для чтения со всех узлов

    Каждый раз, когда узел обналичивает билет, он принимает значение счетчика и увеличивает его на единицу, а затем обновляет счетчик. Нет двух билетов должны иметь одинаковое значение счетчика. Информация общей статистики должна содержать значение, если билеты обналичены, поэтому его следует развернуть на всех узлах кластера.

Вопросы

  1. Как я могу убедиться, что билеты имеют уникальные значения счетчиков? Я привык к имплиментации замков, но каков был бы актер имплиментации?
  2. если узел отключен от кластера, возникает ли событие, которое я могу поймать, чтобы внести необходимые корректировки?

1 ответ

Решение
  1. Как я могу убедиться, что билеты имеют уникальные значения счетчиков?

Если вы не можете получить доступ к системе субъекта для запроса "счетчика" или идентификатора, то используйте что-то вроде GUID для уникальной идентификации ресурса (Guid.NewGuid()). Если вам требуется глобальный целочисленный счетчик, вам нужно будет внедрить субъект, который отслеживает этот счетчик и выдаёт новые значения по требованию.

  1. если узел отключен от кластера, возникает ли событие, которое я могу поймать, чтобы внести необходимые корректировки?

Да, вы можете прослушать события сплетни Cluster и определить, когда узел был отключен, и решить, не доступен ли он больше:

http://getakka.net/docs/clustering/cluster-extension

Другие вопросы по тегам