何时声明/绑定队列以及与RabbitMQ的交换
我们在我的工作场所的RabbitMQ周围有一个包装器库,由不再在这里工作的人创建。我正在使用Rabbit设计一个新系统,并且正在研究声明队列、交换和绑定的最佳方法。我们的兔子架构有几个联合全局区域,每个区域有多个兔子节点 用于发布消息和订阅队列的包装器代码每次都会重新声明相关的交换、队列和绑定。我担心的是,这可能会给每个消息发布带来很大的延迟,特别是当它需要等待确认远程全局区域中存在队列/交换时。我希望每秒数百万条消息的基准不要为每次发布重新声明交换 简言之,这种方法对我来说似乎有点浪费和偏执,但也许我遗漏了什么 所以我有几个问题:何时声明/绑定队列以及与RabbitMQ的交换,rabbitmq,amqp,Rabbitmq,Amqp,我们在我的工作场所的RabbitMQ周围有一个包装器库,由不再在这里工作的人创建。我正在使用Rabbit设计一个新系统,并且正在研究声明队列、交换和绑定的最佳方法。我们的兔子架构有几个联合全局区域,每个区域有多个兔子节点 用于发布消息和订阅队列的包装器代码每次都会重新声明相关的交换、队列和绑定。我担心的是,这可能会给每个消息发布带来很大的延迟,特别是当它需要等待确认远程全局区域中存在队列/交换时。我希望每秒数百万条消息的基准不要为每次发布重新声明交换 简言之,这种方法对我来说似乎有点浪费和偏执,
- 鉴于全球联盟,重新声明队列和交换是否会对性能造成重大影响
- 每次使用时重新声明是否是一种好方法,因为它可以处理由于代理重新启动或显式删除而消失的队列/交换
- 我们是否应该只为每个进程声明一次队列和交换 希望它们能持续一辈子
- 持久性交换和队列是否应该在Rabbit配置中声明,而不是由应用程序声明李>
- 如果应用程序可能继续使用旧配置声明队列/交换的配置更改,应如何处理这些更改?应用程序是否应该处理声明失败并继续发布/使用