我使用erlang作为服务之间的桥梁,我想知道人们对处理断开的连接有什么建议?
我正在从本地文件中获取输入并将其通过管道传输到AMQP,可以想象AMQP代理可能会崩溃。在这种情况下,我想继续尝试连接到AMQP服务器,但是我不想将CPU与这些连接尝试 Hook 。我的意愿是使AMQP代码的重新启动进入休眠状态。那“hack”本质上不会绕过快速失败并让erlang处理它的目的吗?更一般而言,是否应使用erlang主管行为来处理断开的连接?
最佳答案
我认为编码自己的语义以自己处理与外部服务器的连接是合理的。主管最适合处理自己的进程树中崩溃/锁定/其他不正常的进程,而不是重新连接到外部服务。
您的进程是将本地文件与AMQP代理传递到同一进程树中的进程,还是单独的服务?
关于erlang - 重新启动与故障主机的连接的Erlang主管策略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2971508/