我的要求是使用命名代理。基本上,每条记录都有一个具有自定义ID的代理。我们可以跨应用程序实例和BEAM查询代理的名称吗?我的意思是,如果我们在2台不同的BEAM机器上有一个应用程序的2个实例,则需要确保每个记录只有one
个代理。不多。我该如何实现?
答案 0 :(得分:1)
Agent
基本上是GenServer
。后者具有register it’s name的三个选项。 {:via, module, term}
和 {:global, name}
都全局注册了名称。
当然,应该连接所有节点以使其正常工作。
为了使寻址全球注册的过程更容易,尽管在这种情况下,{{1}}应该足够好,但可以使用Registry
。