我一直在研究一个使用rabbitmq在node.js微服务之间进行通信的示例,我试图了解这些微服务在重新启动rabbitmq服务器后幸存下来的最佳方式。
完整示例可在Github上找到:
https://github.com/ashleydavis/rabbit-messaging-example
您可以通过切换到广播子目录并使用
docker-compose up --build
.
运行后,我打开另一个终端并发出以下命令来终止Rabbit服务器
docker-compose kill rabbit
.
这会导致node.js未处理的异常终止连接到rabbitmq服务器的发送方和接收方微服务。
现在,我希望能够重新启动rabbitmq服务器(使用
docker-compose up rabbit
)让原来的微服务重新上线。
这是为了运行docker compose for development和kubernetes for production。我可以设置它,以便微服务在与rabbitmq断开连接时重新启动,但如果微服务可以保持在线(它们可能正在执行其他不应中断的工作),然后在重新可用时自动重新连接到rabbitmq,我更愿意这样做。
任何人都知道如何使用
ampq
图书馆?