如何在分布式应用程序中具有容错功能?据我了解,监督树只适用于监督本地流程(如果我是对的?)。 如何监督在远程节点上生成的远程进程。我需要监督它们并在发生故障时重新启动它们?
答案 0 :(得分:3)
请查看OTP Design Principles特别是章节9 Distributed Applications和子章节9.4 Failover和9.5 Takeover。
如果您对主题感兴趣,一般应该看一下着名论文Making reliable distributed systems in the presence of software errors以及大量有关主题的出版书籍。一些材料也在线3 Free E-Books and a Tutorial on Erlang。例如关于分发Distribunomicon的问题。
TL; TR?简而言之,正如您所写的那样,您必须监视彼此的主管树并在发生故障时重新启动。你甚至可以重新发明轮子,因为Erlang本身提供了很好的工具来实现它,或者使用现有的解决方案将裸OTP转移到riak_core。