张申傲
RocketMQ详解(2)——RocketMQ核心概念
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
张申傲
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
RocketMQ详解(2)——RocketMQ核心概念
RocketMQ详解(2)——RocketMQ核心概念
张申傲
关注
发布于 2020-09-03 10:45:59
1.3K
0
发布于 2020-09-03 10:45:59
举报
文章被收录于专栏:
漫漫架构路
RocketMQ详解(2)——RocketMQ核心概念
一. RocketMQ专业术语
Producer 消息生产者,负责产生消息,一般由业务系统负责产生消息。
Consumer 消息消费者,负责消费消息,一般由后台系统负责异步消费。
Push Consumer Consumer的一种,通常是应用向Consumer注册一个Listener接口,一旦Consumer收到消息,立刻回调Listener接口的方法。
Pull Consumer Consumer的一种,通常由应用主动调用Consumer的拉取消息方法吃Broker拉消息,主动权由应用控制。
Producer Group 一类Producer的集合,同一个Group内的Producer发送同一类消息,且发送逻辑一致。
Consumer Group 一类Consumer的集合,同一个Group内的Consumer消费同一类消息,且消费逻辑一致。
Broker 消息中转角色,负责存储、转发消息,一般也成为Server,在JMS规范中成为Provider。
二. RocketMQ的消费方式
广播消息 一条消息被多个Consumer消费,即使这些Consumer属于同一个Consumer Group,消息也会被Consumer Group中的每一个Consumer都消费一次。可以认为,在广播消费情况下,Consumer Group的划分无意义。在CORBA Notification规范中,消费方式都属于广播消费。在JMS规范中,相当于Pub/Sub模型。
集群消费 一个Consumer Group中的所有Consumer平均分摊消费消息(组内负载均衡),例如某个Topic有9条消息,发往一个Consumer Group,该Consumer Group有3个实例(可能是3个进程,或3台机器),那么每个实例只消费其中的3条消息。CORBA Notification规范中没有此消费方式。在JMS规范中,类似于P2P模型,但是RocketMQ的集群消费功能大于等于JMS的P2P消费。因为集群消费模式下,RocketMQ单个Consumer Group内的消费类似于P2P,但是一个Topic/Queue可以被多个Consumer Group消费。
顺序消费 消息消费的顺序要和发送的顺序保持一致。在RocketMQ中,该顺序主要指局部顺序,即一类消费为满足顺序性,必须Producer单线程发送,且发送到同一个队列,这样Consumer就可以按照Producer的发送顺序来消费消息。
普通顺序消费 顺序消费的一种,无论正常、异常情况下,都能保证消息的顺序。但是一旦宕机,Broker重启,由于队列总数发生变化,哈希取模后定位的队列会变化,导致短暂的消息顺序不一致。如果业务能够容忍在集群异常情况下(如某个Broker宕机或重启)消息出现短暂的乱序,那么使用普通顺序消费比较合适。
严格顺序消息 顺序消费的一种,无论正常、异常情况下,都能保证消息的顺序,但是牺牲了分布式的Failover特性,即Broker集群中只要有一个节点不可用,则整个集群都不可用,这大大降低了服务的可用性。如果服务器部署为同步双写模式,此缺陷可通过slave自动切换成master避免,不过仍然可能存在几分钟的服务不可用。目前已知的应用只要数据库的binlog同步强依赖严格顺序消息,其他应用大部分都可以容忍短暂乱序,推荐使用普通顺序消费模式。
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2018/09/05 ,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
apache
java
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
apache
java
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
RocketMQ详解(2)——RocketMQ核心概念
一. RocketMQ专业术语
二. RocketMQ的消费方式
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
产品介绍
产品文档
精选特惠 用云无忧
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐