3

一个特定的主管流程应该监督多少个工人是否有界限?在构建有关性能和容错的 OTP 监督树时,我一直在多次回到这个问题:

应该由单个主管进程监督同一特定域的所有工作人员(数千个),还是应该放置较少数量的监督进程(在该主主管之下)来监督工作进程的子集?

4

1 回答 1

3

主管可以管理的孩子数量没有界限或限制。这仅受系统对最大进程数的限制。还应考虑到,主管本身并不进行任何主动管理。除非它被要求做某事,否则它所做的就是坐下来等待exit来自它的孩子的消息。

应该由一个主管管理所有工人,还是应该将他们分配给一些子主管,这个问题更多是一个架构问题。如果所有工人都是同一类型one_for_onesimple_one_for_one使用策略,那么直接管理工人的单个主管是最佳解决方案。如果要求更复杂,将相同类型的工人分组到一个子主管中可能会很有用,例如实施一些特殊的重启策略。

于 2020-01-27T20:05:59.740 回答