Стратегия супервизора Erlang для перезапуска соединений с пониженными хостами

StackOverflow https://stackoverflow.com/questions/2971508

Вопрос

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top