监督树:构建可靠系统的关键
1. 监督树基础与回声服务器示例
在系统开发中,监督树是一种强大的工具,用于管理和监控进程。我们先从一个简单的回声服务器示例开始,了解如何使用 Registry 来注册和发现进程。
1.1 回声服务器代码示例
defmodule EchoServer do
def call(id, some_request) do
GenServer.call(via_tuple(id), some_request)
end
defp via_tuple(id) do
{:via, Registry, {:my_registry, {__MODULE__, id}}}
end
def handle_call(some_request, _, state) do
{:reply, some_request, state}
end
end
在这个示例中, via_tuple/1 辅助函数用于生成符合 Registry 规范的元组,用于注册和发现进程。注册的进程名称为 {__MODULE__, id} ,在这个例子中就是 {EchoServer, id} 。
1.2 操作步骤
- 启动
iex会话。 - 复制并粘贴上述
EchoServer
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



