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