Стратегия Erlang Supervisor для перезапуска подключений к сбитым хостам - PullRequest
7 голосов
/ 04 июня 2010

Я использую erlang в качестве моста между службами, и мне было интересно, что посоветуют люди для обработки сбойных соединений?

Я беру информацию из локальных файлов и передаю их в AMQP, и вполне возможно, что брокер AMQP может отключиться. В этом случае я хотел бы повторить попытку подключения к серверу AMQP, но я не хочу привязывать ЦП к этим попыткам подключения. Я склонен усыплять перезагрузку кода AMQP. Разве этот «хак» по сути не обойдёт цель быстрого провала и позволения Эрлангу справиться с этим? В более общем смысле, следует ли использовать поведение диспетчера erlang для обработки сбойных соединений?

1 Ответ

3 голосов
/ 06 июня 2010

Я думаю, что разумно кодировать свою собственную семантику для обработки соединений с внешним сервером самостоятельно. Супервизоры лучше всего подходят для обработки аварийных / заблокированных / иным образом нездоровых процессов в вашем собственном дереве процессов, а не переподключений к внешней службе.

Ваш процесс направляет локальные файлы в том же дереве процессов, что и брокер AMQP, или это отдельная служба?

...