2009-03-24 30 views
5

J'ai essayé d'expliquer les arbres de supervision.Comment expliquer les arbres de supervision d'Erlang?

Mon meilleur essai est:

ok, vous obtenez une boîte de chocolat de l'usine, avec garantie, « Chaque bit de bon goût. » Ensuite, si vous trouvez que ce bit un peu drôle. Vous pouvez jeter la boîte entière . Parce que vous obtenez une nouvelle de l'usine. C'est comme les arbres de supervision à Erlang. Si un fil se comporte mal. Il y a un risque que tous les threads aient un mauvais état. Si c'est le cas, le superviseur rejette tous les threads et recommence. Comme la boîte de chocolat, vous êtes le superviseur lorsque vous lancez la boîte.

Répondre

2

Dans my article je l'ai décrit ainsi:

Dans certaines parties Erlang est comme la vie réelle : il y a beaucoup de processus qui ce que les vrai travail et certains qui sont les superviser. Et il y a une hiérarchie . Comme je l'ai dit, la vraie vie. **** smile ****

Le reste de l'article tente de donner un aperçu approfondi du concept d'arborescence de supervision d'Erlang.

Mue

11

Vous avez des processus qui font des choses - travailleur processus. Il peut y avoir beaucoup travailleurs d'un type - tout de même - mais il peut également y avoir de nombreux types de travailleurs.

Vous créez une application en écrivant des types de processus de travail et en les déployant.

Superviser le travailleur traite sont processeurs superviseur - (! Tortues sur toute la hauteur, à l'exception du haut qui est le papa) et de la supervision du superviseur traite sont des processus superviseur

Tous les superviseurs sont les mêmes. Ils ont seulement 2 emplois:

  1. ressemblent pour leurs travailleurs (si elles commencent écraser redémarrer eux dans la manière que ce type de travailleur doit être redémarré)
  2. si trop de travailleurs plantent trop souvent signaler la ligne à leurs superviseurs (en provoquant une collision et de laisser leur superviseur les redémarrer de la manière qu'ils doivent être renouvelées)

Voilà.Vous construisez de petits sous-systèmes à partir de types spéciaux de processus de travail que vous avez conçus et les composez en grands groupes multi-serveurs en utilisant les mêmes superviseurs presque sans bug, comme tout le monde et certains travailleurs standard qui opérer sur l'arborescence de supervision pour faire des choses comme déplacer des sous-systèmes d'une machine à une autre (ces opérateurs standard sont codifiés dans des comportements comme les applications OTP et OTP gen_servers et autres choses)