消息队列的设计问题?

消息队列的组件应该在什么时候命名,比如交换机,队列? 什么情况下适合声明一个交换机?什么情况下适合声明一个队列?

现目前有两种想法:
1.交换机按照对象命名,一个对象一个交换机,队列 按照不同的功能来创建,然后消费者需要那种功能自己去监听就行了。
2.一个项目一个交换机,队列按对象命名。需要监听哪个对象由消费者自己监听,然后由自己判断是不是需要,如果不需要就自己抛弃。

主要就是这两种想法,由于两种想法都有,所以产生了混乱,而且他们各有优劣,第一种对消费者更加友好,但是会有大量的队列,交换机。第二种更加规范,简单明了,但是对消费者不够友好。哪种方式更加优秀?或者有没有其他更加优秀的解决方案?

阅读 2.1k
1 个回答

你的消息队列只用 RabbitMQ 是吗?

虽然 Exchange 这玩意儿是 AMQP 里定义的,但只有 RabbitMQ 才使用了它。而同样支持 AMQP 的如 ActiveMQ、Kafka 等等,都没有 Exchange 的概念。

但你所谓的“声明”指的是什么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题