跨应用程序实例和BEAM的唯一代理

问题描述 投票:0回答:1

我的要求是使用命名代理。每个记录基本上有一个具有自定义ID的代理。我们可以跨应用程序实例和BEAM查询代理的名称吗?我的意思是,如果我们在2台不同的BEAM机器上有2个应用程序实例,我们需要确保每条记录只有one代理。不多。我怎样才能做到这一点?

erlang elixir agent gen-server
1个回答
1
投票

Agent基本上是一个GenServer。后者对register it’s name有三种选择。 {:global, term}{:via, module, term}都在全球注册了这个名字。

当然,应该连接所有节点以使其工作。

为了更容易解决全球注册过程,可以使用Registry,尽管在这种特殊情况下{:global, name}应该足够好。

© www.soinside.com 2019 - 2024. All rights reserved.