当binding key 为 org.rabbitmq.server 时,只有queue1匹配,当 binding key 为 com.hidden.demo 时,只有queue2匹配,当bingding key 为 aaa 时,queue1 和 queue2 都不匹配。
首先说一点,企业中最常用的实际上既不是RocketMQ,也不是Kafka,而是RabbitMQ。RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用RocketMQ的没有想象中那么多。
RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。本章主要讲述的是RabitMQ 的入门知识,首先介绍了生产者、消费者、队列、 交换器、 路由键. 绑定、连接和信道等基本术语,还介绍了交换器的类型: fanout. direct, topic和headers.之后通过介绍RabbiMQ的运转流程来加深对基本术语的理解。
我们假设订单系统要花费 500 ms,其他系统都要花费 300 ms。那么整套系统应该要花费 1.4 s。这种顺序执行的方式,除了执行效率慢意外,容错率也很低 —— 一旦有任何中间流程出现问题,整个业务都要瘫痪。
在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ、Kafka、Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方法和原理。