构建容错系统:从待办事项系统到“Let it crash”理念
在软件开发中,构建容错系统是一项至关重要的任务。本文将详细介绍如何将一个待办事项系统转变为一个容错系统,同时深入探讨“Let it crash”这一重要的编程理念。
1. 动态监管器的转换
要将待办事项缓存转换为动态监管器,需要实现 child_spec/1 函数。以下是具体的代码实现:
defmodule Todo.Cache do
...
def child_spec(_arg) do
%{
id: __MODULE__,
start: {__MODULE__, :start_link, []},
type: :supervisor
}
end
...
end
通过上述代码,待办事项缓存就成功转换为了动态监管器。
2. 查找待办事项服务器
接下来,需要修改 Todo.Cache.server_process/1 函数。该函数接收一个名称,并返回待办事项服务器的进程 ID(PID),如果服务器未运行,则启动它。以下是具体的实现代码:
defmodule Todo.Cache do
...
def server_process(todo_list_name) do
case start_child(todo_list_na
超级会员免费看
订阅专栏 解锁全文

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



