根据以下帖子:
http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-Backup-td18268.html
http://rabbitmq.1065348.n5.nabble.com/rabbitmq-server-Mnesia-backup-and-restore-td28598.html
通过执行以下步骤,可以备份然后恢复持久排队的消息:
要备份我们必须:
1- 停止 rabbitmq服务器:
# rabbitmqctl stop_app2- 副本(tar)文件夹"/ var/lib/rabbitmq/mnesia /":
# tar -cvf mnesia.tar /var/lib/rabbitmq/mnesia/3- 启动 rabbitmq服务器:
# rabbitmqctl start_app
然后恢复它们我们必须:
1- 停止 rabbitmq服务器:
# rabbitmqctl stop_app2- 复制(解压缩)文件夹"/ var/lib/rabbitmq/mnesia /":
# tar -xvf mnesia.tar -C /3- 启动 rabbitmq服务器:
# rabbitmqctl start_app
但是,当尝试在rabbitmq群集上或甚至在单个节点上应用这些步骤时,无法恢复任何消息.
还注意到: / var/lib/rabbitmq/mnesia/rabbit @ rabbitmq-node1/msg_store_transient的内容 似乎存储了排队的消息, 总是在兔子服务器重启后立即清理(stop_app和start_app).然后尝试复制备份的tar,在启动rabbitmq后,没有清除文件夹/ msg_store_transient,但这也没有帮助(IOW在Web管理控制台中没有恢复消息的迹象).
我们正在虚拟机上执行测试: Ubuntu-14.04,Erlang-R16B03,RabbitMQ-3.4.1, 以及由Java客户端创建的持久队列.
将会感谢任何帮助或提示正确恢复排队的消息,尤其是在rabbitmq服务器故障后.
根据这篇博客https://spring.io/blog/2015/07/14/microservices-with-spring
能够毫无问题地运行应用程序.按此顺序:
但是当尝试通过Web应用程序(http:// localhost:3333 /)使用http:// ACCOUNTS-SERVICE URL访问任何帐户服务端点(如http:// ACCOUNTS-SERVICE/accounts/123456789)时,我收到错误回复:
Response Status: 500 (Internal Server Error)
Cause: org.springframework.web.client.ResourceAccessException I/O error on GET request for "http://ACCOUNTS-SERVICE/accounts/123456789": ACCOUNTS-SERVICE; nested exception is java.net.UnknownHostException: ACCOUNTS-SERVICE
Run Code Online (Sandbox Code Playgroud)
当我向Web服务器而不是http:// ACCOUNTS-SERVICE提供帐户服务的真实地址(http:// localhost:2223 /)时,一切正常,但在这种情况下没有服务发现.