2

我已经安装了 RabbitMQ,并且在 EC2 CentOS 6 实例上运行良好,具有各种队列和主题。我决定将此工作实例迁移到另一个具有相同操作系统和初始设置的新 EC2 服务器实例,只是更小一些。

我从现有安装创建了一个 AMI(Amazon 服务器映像),然后使用此 AMI 创建一个新的服务器实例。RabbitMQ 出现得很好,所有主题、用户、虚拟主机、队列等也是如此。

但是,尽管在创建服务器映像之前队列中确实存在消息,但队列都返回了 0 条消息。

问题:

  1. 我在迁移过程中遗漏了什么吗?
  2. 当消息在兔子队列中时,它们在哪里被明确地“存储”?

我相信这些消息是作为“持久”发送的,但不能 100% 确定这一点。我知道 RabbitMQ 实例的复制,但认为这种服务器重新创建方法会更简单/更快?

4

2 回答 2

0

@robthewolf 的评论需要进行更多搜索,但倾斜度略有不同(关于是否可以将队列消息显式保存在后备数据库/键值存储中)

这让我看到了这篇旧的,但似乎仍然相关的博客文章,它清楚地描述了 rabbit 当前在所有情况下的“持久性”方法(持久性发布、持久性等)

http://www.rabbitmq.com/blog/2011/01/20/rabbitmq-backing-stores-databases-and-disks/

于 2013-04-13T20:05:09.367 回答
0

如果消息是持久的,您可以检查这个 SO问题- RabbitMq 使用 Mnesia 存储,该存储连接到它正在运行的机器的 ip 地址,因此在答案中几乎没有调整可以解决问题。

于 2017-03-14T11:03:13.013 回答