刚接触RocketMQ,并将自己的学习笔记分享给大家,本文详细介绍了如何从官网下载rocketMQ源码,并在Windows系统下部署到IDEA上,且编译测试通过。
一、首先,我们要知道什么是rocketMQ
RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,可以理解为生产者与消费者之间交互时进行的一种消息存储和管理技术,也可以看做是一种容器。
Github上的介绍是 RcoketMQ是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。
消息中间件中包括:消息的生产者、消息的消费者和rocketMQ服务器;其中生产者和消费者之间可以表示两个人之间、电脑与电脑、软件与软件之间的关系。其思想就是生产者与消费者之间不直接发送消息,采用消息中间件的方式进行,这样避免了直接发送消息的很多效率问题,如A发送之后B没有及时接受,那A就一直堵塞并发性不好,A必须等B接受完后有了返结果A才可以结束。但在A和B之间加一个消息中间件,A把消息放到消息中间上,就不用管了,B什么时候来消息中间件取消息A也不用管,等B取走后可以通过状态,通知,回调等方式通知A就行了,这样就提高了效率提供并发性。
具有以下特点:
- 支持两种模式:发布/订阅(Pub/Sub)和 点对点(P2P)
点对点,不可重复。生产者将消息放入队列中, 多个消费者同时监听队列,谁先抢到消息就取走消息,每条消息最多只能被一个消费者拥有。
点对多点。发布者将消息发布到队列中,多个监听队列的消费者都会收到一份消息。每一份消息都会推送给它的所有订阅者。 - 在一个队列中可靠的先进先出(FIFO&#x