RocketMq学习

1、JMS概述:Java Message Service规范,规定不同Java客户端之间如何进行消息传输2、JMS消息传输模型:P2P(点对点)和Pub/Sub(发布订阅)(1)P2P模型组成:消息队列(Queue)、发送者(Sender)、接收者(Receiver)特征:每个消息只有一个消费者,一旦被消费,即从消息队列中删除,如果希望每个消息都被成功处理,则应该使用P2P模型
摘要由CSDN通过智能技术生成

1、JMS概述:Java Message Service规范,规定不同Java客户端之间如何进行消息传输

2、JMS消息传输模型:P2P(点对点)和Pub/Sub(发布订阅)

(1)P2P模型

组成:消息队列(Queue)、发送者(Sender)、接收者(Receiver)

特征:每个消息只有一个消费者,一旦被消费,即从消息队列中删除,如果希望每个消息都被成功处理,则应该使用P2P模型

(2)Pub/Sub模型

组成:主题(Topic)、发布者(Publisher)、订阅者(Subscriber)
特征:如果希望发送的消息可以不做任何处理,或者被一个或多个消费者消费,则应该采用Pub/Sub模型

3、Rocketmq架构


Rocketmq使用了Pub/Sub模型设计实现

Rocketmq设计时参考了kafka,消息可靠性比后者更好

4、Rocketmq启动

进入bin目录

cmd运行  mqnamesrv  -n  127.0.0.1:9876  启动nameserver服务

cmd运行  mqbroker  -n 127.0.0.1:9876    启动broker服务


5、Rocketmq基本概念

(1)Topic:消息逻辑管理单位

           一个Producer可以生产多个Topic

          一个Consumer可以订阅多个Topic

 (2)Tag:用于消息细分,一个Topic下可以有多个Tag

 (3)MessageQueue:消息物理管理单位,一个Topic可以对应多个Queue,默认情况下一个Topic分配4个队列,Producer生产的消息随机?发送到队列中

 (4)NameServer:相当于ZooKeeper的作用

                   ---- NameServer用来保存活跃的 broker 列表,包括 Master 和 Slave

                   ---- NameServer用来保存所有 topic 和该 topic 所有队列的列表

                   ---- NameServer用来保存所有 broker 的 Filter 列表

(5)  Broker:不负责推送消息,只负责存储消息,Consumer主动从broker请求消息

          Rocketmq提供了两种存储方式来保留消费记录:一种是保留在consumer所在的服务器上;另一种是保存在broker服务器上。用户还可以自己实现相应的消费进度存储接口。默认情况下,采用集群消费(CLUSTERING),会将记录保存在broker端;而采用广播消费(BROADCASTING)则会将消费记录保存在本地

(6)Message:消息对象模型,由Topic、Tag、Keys、body(byte[])构建

(7)ConsumerGroup:

(8)ProducerGroup:

6、消息过滤

7、消息可靠性

8、消费者消费两种方式

      集群消费:同一个ConsumerGroup下有多个消费实例,生产的消息将被随机(轮询)方式发送到各个实例,单个实例只消费总量的一部分,默认方式

     广播消费:类似ActiveMQ中的发布订阅模式,每一条消息都会发给Consume Group中的每一个消费者进行消费

8、消息顺序消费

9、消息持久化

10、消息获取方式

     DefaultMQPushConsumer
     DefaultMQPullConsumer

11、Rocketmq Console

12、代码实例

(1)producer生产多个topic消息ÿ
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值