Apache RocketMQ 从入门到实战RocketMQ 核心概念扫盲篇 3. Client 消息客户端,包括 Producer(消息发送者)和 Consumer(消费消费者).客户端在同一 时间只会连接一台 nameserver,只有在连接出现异常时才会向尝试连接另外一台。客户 端每隔 30s 向 Nameserver 发起 topic 的路由信息查询。 温馨提示:Nameserver 是在内存中存储 Topic 的路由信息,持久化 Topic 。故在顺序消费的 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.1 RocketMQ 核心概念扫盲篇 < 16 使用过程中,应用程序需要区分系统异常、业务异常,如果是不符合业务规则导致的异常, 则重试多少次都无法消费成功,这个时候一定要告警机制,及时进行人为干预,否则消费会 积压。 三、事务消息 事务消息并不是为了解决分布式事务,而是提供消息发送与业务落库的一致性,其实现 Broker 在启动时向 Nameserver 注册存储在该服务器上的路由信息,并每隔 30s 向 Nameserver 发送心跳包,并更新路由信息。 Nameserver 每隔 10s 扫描路由表,如果检测到 Broker 服务宕机,则移除对应的路 由信息。 消息生产者每隔 30s 会从 Nameserver 重新拉取 Topic 的路由信息并更新本地路由 表;在消息发送之前,如果本地路由表中不存在对应主题的路由消息时,会主动向0 码力 | 165 页 | 12.53 MB | 1 年前3
消息中间件RocketMQ原理解析 - 斩秋recover: 正常恢复: 利用 tranRedoLog 文件的 recover 利用 tranStateTable 文件重建事物状态表 异常恢复: 先按照正常流程恢复 Tran Redo Log commitLog 异常恢复,commitLog 根据 checkpoint 时间点重新生成 redolog, 重新分发 消息 DispatchRequest, 分发消息到位置信息到 commitLog 最后刷盘的时间 logicMsgTimestamp 为 consumeQueue 最终刷盘的时间 indexMsgTimestamp 为索引最终刷盘时间 checkpoint 作用是当异常恢复时需要根据 checkpoint 点来恢复消息 f) 加载索引服务 indexService g) recover 尝试数据恢复 判断是否是正常恢复,系统启动的启动存储服 当系统正常关闭的时候会把这个文件删掉 ,这个类似在 linux 下打开 vi 编辑器生成那个临时文件, 所有当这个 abort 文件存在,系统认为是异常恢 复 1) 先按照正常流程恢复 Consume Queue 为什么说先正常恢复, 那么异常恢复在哪呢? 当 broker 是异常启动时候, 在 异常恢复 commitLog 时会重新构建请到 DispatchMessageService 服务,来重新 生成 ConsumeQueue0 码力 | 57 页 | 2.39 MB | 1 年前3
RocketMQ v3.2.4 开发指南顺序消息的一种,正常情冴下可以保证完全的顺序消息,但是一旦収生通信异常,Broker 重启,由亍队列 总数収生发化,哈希叏模后定位的队列会发化,产生短暂的消息顺序丌一致。 如果业务能容忍在集群异常情冴(如某个 Broker 宕机戒者重启)下,消息短暂的乱序,使用普通顺序方 式比较合适。 严格顺序消息 顺序消息的一种,无论正常异常情冴都能保证顺序,但是牺牲了分布式 Failover 特性,即 Linux 文件系统内存 cache 来提高性能。 4.6 Message Reliablity 影响消息可靠性的几种情冴: (1). Broker 正常关闭 (2). Broker 异常 Crash (3). OS Crash (4). 机器掉电,但是能立即恢复供电情冴。 (5). 机器无法开机(可能是 cpu、主板、内存等关键设备损坏) (6). 磁盘设备损坏。 为了追求高性能,幵丌保证此特性,要求在业务上迕行去重, 也就是说消费消息要做到幂等性。RocketMQ 虽然丌能严格保证丌重复,但是正常情冴下很少会出现重复収送、消 费情冴,只有网络异常,Consumer 启停等异常情冴下会出现消息重复。 此问题的本质原因是网络调用存在丌确定性,即既丌成功也丌失败的第三种状态,所以才产生了消息重复性问 题。 4.10 Broker 的 Buffer 满了怎么办?0 码力 | 52 页 | 1.61 MB | 1 年前3
基于Apache APISIX 与RocketMQ 构建云原生一体化架构混合云 EC S 容器 K8S 物理机 经典网络/VPC 网络 Overlay/Underlay NVMe 普通云盘 ESSD 云盘 SA TA 独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战 • 多租环境带来了更高的网络及安全隔离要求0 码力 | 22 页 | 2.26 MB | 1 年前3
万亿级数据洪峰下的消息引擎Apache RocketMQ1.4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟 3. 调用抛异常隔 离1分钟 4. 如果隔离的服 务器超过30%, 则有部分调用 会进入隔离列 表中最早隔离 的机器 1.4万亿 双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制0 码力 | 35 页 | 993.29 KB | 1 年前3
万亿级数据洪峰下的消息引擎 Apache RocketMQ1.4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟 3. 调用抛异常隔 离1分钟 4. 如果隔离的服 务器超过30%, 则有部分调用 会进入隔离列 表中最早隔离 的机器 1.4万亿 双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制0 码力 | 35 页 | 5.82 MB | 1 年前3
共 6 条
- 1













