Уникальные агенты в экземплярах приложений и BEAM - PullRequest
0 голосов
/ 01 сентября 2018

Мое требование - использовать именованные агенты. В основном один агент на запись с пользовательским идентификатором. Можем ли мы запросить имя агента между экземплярами приложения и BEAM? Я имею в виду, что если у нас есть 2 экземпляра приложения на 2 разных машинах BEAM, нам нужно убедиться, что у нас есть только one агент на запись. Не больше. Как мне этого добиться?

1 Ответ

0 голосов
/ 01 сентября 2018

Agent - это, в основном, GenServer. У последнего есть три варианта зарегистрировать свое имя . И {:global, term} , и {:via, module, term} регистрируют имя по всему миру .

Конечно, все узлы должны быть подключены, чтобы это работало.

Чтобы упростить обращение с глобально зарегистрированными процессами, можно использовать Registry, хотя в данном конкретном случае {:global, name} должно быть достаточно хорошо.

...