Я работал над примером использования Rabbitmq для связи между микросервисами Node.js. Я пытаюсь понять, как эти микросервисы могут выжить после перезапуска сервера Rabbitmq.
ПолныйПример доступен на Github: https://github.com/ashleydavis/rabbit-messaging-example
Вы можете запустить систему, перейдя в подкаталог широковещания и используя docker-compose up --build
.
При этом я открываю другой терминал и выдаю командуследующая команда для завершения работы сервера Rabbit docker-compose kill rabbit
.
Это вызывает необработанное исключение Node.js для уничтожения микросервисов моего отправителя и получателя, которые были подключены к серверу Rabbitmq.
Now I 'Я хотел бы иметь возможность перезапустить сервер Rabbitmq (используя docker-compose up rabbit
) и вернуть исходные микросервисы в оперативный режим.
Он предназначен для работы под Docker-Compose для разработки и Kubernetes для производства.Я мог бы просто настроить это так, чтобы микросервисы перезагружались, когда они завершались отключением от Rabbitmq, но я бы предпочел, чтобы микросервисы могли оставаться в сети (они могли выполнять другую работу, которая не должна прерываться), а затем снова подключатьсяк Rabbitmq автоматически, когда он снова станет доступен.
Кто-нибудь знает, как добиться автоматического переподключения к Rabbitmq с помощью библиотеки ampq ?