RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。本章主要讲述的是RabitMQ 的入门知识,首先介绍了生产者、消费者、队列、 交换器、 路由键. 绑定、连接和信道等基本术语,还介绍了交换器的类型: fanout. direct, topic和headers.之后通过介绍RabbiMQ的运转流程来加深对基本术语的理解。
首先说一点,企业中最常用的实际上既不是RocketMQ,也不是Kafka,而是RabbitMQ。RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用RocketMQ的没有想象中那么多。
多角度分析RocketMQ、RabbitMQ和Kafka区别三大经典且成熟的MQ产品:RabbitMQ、RocketMQ、Kafka 之间的差别基本已经被网文对比烂了,但基本对选型没有指导意义,本文尝试从核心层面厘清主流MQ产品各自异同。
RocketMQ 向其他 BU 提供的仅仅是Jar 包,例如要定制⼀个 Broker,那么只需要依赖 rocketmq-broker 这个 jar 包即 可,可通过 API 迕⾏交互,如果定制 client,则依赖 rocketmq-client 这个 jar 包,对其提供的 api 进⾏ 再封装。
简介消息队列主要为了异步场景下实现上下游解耦功能:在传统场景中,上游产生一条消息,比如用户下单了一件商品,系统创建了对应的订单,需要通知下游的物流、支付等系统进行后续处理;消息队列可以使得上游系统(订单)和下游系统(支付/物流等)解耦,上游只管向消息队列中投递消息即可,下游订阅消