AKKA.Net Кластеризация и общий ресурс
Привет, я читаю и смотрю несколько видео на AKKA.Net и мне нравится то, что я вижу. Я хочу попробовать AKKA.net в имеющемся у меня приложении, но мне нужна помощь в разъяснении некоторых вещей
сценарий
Я хочу создать кластер Akka.net с:
- 3 Узлы / Машины
- общий ресурс (счетчик) между ними.
статистика общего ресурса, доступная для чтения со всех узлов
Каждый раз, когда узел обналичивает билет, он принимает значение счетчика и увеличивает его на единицу, а затем обновляет счетчик. Нет двух билетов должны иметь одинаковое значение счетчика. Информация общей статистики должна содержать значение, если билеты обналичены, поэтому его следует развернуть на всех узлах кластера.
Вопросы
- Как я могу убедиться, что билеты имеют уникальные значения счетчиков? Я привык к имплиментации замков, но каков был бы актер имплиментации?
- если узел отключен от кластера, возникает ли событие, которое я могу поймать, чтобы внести необходимые корректировки?
1 ответ
- Как я могу убедиться, что билеты имеют уникальные значения счетчиков?
Если вы не можете получить доступ к системе субъекта для запроса "счетчика" или идентификатора, то используйте что-то вроде GUID для уникальной идентификации ресурса (Guid.NewGuid()
). Если вам требуется глобальный целочисленный счетчик, вам нужно будет внедрить субъект, который отслеживает этот счетчик и выдаёт новые значения по требованию.
- если узел отключен от кластера, возникает ли событие, которое я могу поймать, чтобы внести необходимые корректировки?
Да, вы можете прослушать события сплетни Cluster и определить, когда узел был отключен, и решить, не доступен ли он больше: