4

I tried to explain supervision trees.

My best try is:

ok, You get a chocolate box from the factory, with warranty, "Every bit will taste good." Then if you find that one bit taste funny. You can throw the whole box away. Because you get a new from the factory. That is like supervision trees in Erlang. If one thread misbehave. There is a risk that all threads have bad state. If that is the case, the supervisor throw all threads away and start over. Like the chocolate box, you are the supervisor when you throw the box.

4

3 回答 3

10

你有做事的进程——工作进程。一种类型的工人可能有很多——都是一样的——但也可能有许多类型的工人

您通过编写工作进程类型并部署它们来构建应用程序。

监督工作进程监督处理器——监督监督进程监督进程(乌龟一直向上,除了最上面的那个是爸爸!)

所有的上司都是一样的。他们只有两个工作:

  1. 留意他们的工人(如果他们开始崩溃,以需要重新启动该类型工人的方式重新启动他们)
  2. 如果太多的工人经常崩溃,向他们的主管报告(通过崩溃并让他们的主管以他们需要重新启动的方式重新启动他们)

而已。您从您设计的特殊类型的工作进程构建小型子系统,并将它们组合成大型的多服务器集群,使用与其他所有人相同的几乎没有错误、经过全面测试的主管和一些在其上运行的标准工作人员监督树做一些事情,比如将子系统从一台机器移动到另一台机器(这些标准工作人员被编入 OTP 应用程序和 OTP gen_servers 等行为。

于 2009-03-24T13:01:07.633 回答
2

我的文章中,我是这样描述的:

在某些方面,Erlang 就像现实生活:有许多进程在做真正的工作,有些则在监督它们。而且有等级制度。正如我所说,现实生活。****微笑****

本文的其余部分试图深入了解 Erlang 监督树的概念。

于 2009-03-24T08:09:03.903 回答
0

针对上面的 Mue,链接已更改。现在正确的地址是:http: //mue.tideland.biz/software-architecture-with-erlangotp-part-7-s

于 2010-02-02T00:40:27.883 回答