- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
3.丁磊-云原生的_消息、事件、流_融合处理平台-Apache RocketMQ
展开查看详情
1 .
2 .云原生“消息、事件、流”融合处理平台 Apache RocketMQ 丁磊 (Shannon Ding) Apache RocketMQ PMC Member
3 .Safe Harbor Statement • The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Alibaba’s products remains at the sole discretion of Alibaba.
4 .云原生Apache RocketMQ前世今生
5 .RocketMQ简介
6 .
7 .深耕业务消息领域
8 .业务消息领域的挑战 设计思想: 业务消息领域挑战 1. 消息不丢、高可靠是架构的基础 1. 核心链路,稳定性要求高、时延敏感 2. 时延优先,兼顾吞吐 2. 容量峰值具有随机性,弹性要求高 3. 收敛业务共性问题,提供丰富的业务消息类型 3. 业务场景复杂、集成要求尽可能简单 4. 注重可运维性、弹性扩缩、流量调拨能力建设 4. 运维及流量调拨要求高 打造业务消息领域首选 普通消息 顺序消息 延迟消息 事务消息 重试消息 死信消息 零依赖 低延迟 强同步刷盘 可扩展 高吞吐 ACK 机制 极简架构 高性能 金融级高可靠
9 . 开发视角下的RocketMQ 帮助开发者更关注业务,多级兜底,同时支持集群/广播两种模式 帮助开发者更关注业务,多级兜底,同时支持集群/广播两种模式 服务端TAG/SQL过滤 3. 死信队列 DLQ 2. 分级回发重试 Failover Retry Producer Consumer Topic 1. 消费逻辑Listener Broker 零依赖全链路消息轨迹 定时消息/事务消息内置支持 定时消息/事务消息内置支持
10 . 运维视角下的RocketMQ Sharding Nothing 架构,集群间/broker物理隔离,海量Topic支持 设计思想: 读写权限分离,平滑弹性扩缩迁移 (Topic 级别、broker 级别、集群级别) 1. 消息不丢、高可靠是架构的基础 2. 时延优先,兼顾吞吐 3. 收敛业务共性问题,提供丰富的业务消息类型 4. 注重可运维性、弹性扩缩、流量调拨能力建设 秒级扩容,流量精准调度 从物理到逻辑,资源快速弹性扩缩,流量精准调度,永远可写 • Broker 扩容:增加broker即可完成,无数据复制,流量精准分配 • Broker 缩容:禁写 broker,消费完成后,下线即可,无数据复制 • Topic 扩容:创建 Topic 到新的 broker,秒级扩容 • Topic 缩容:禁写某个 broker上的topic,消费完成后删除即可 • Topic 迁移:在新集群创建topic,禁写老集群 topic , 应用无感知,秒级流量调拨 • Broker 水位管理:多级磁盘水位管理,自动滚动清理,永远可写
11 .消息与流融合处理平台
12 .云原生时代的挑战 Cloud Hosting Cloud Native • 集群节点异常成为常态 面向失败 • 依赖服务随时可能在进行迁移或重启 独占/混部/独立交付…… • 对弹性的要求开始从物理资源变为逻辑资源 松散耦合 NVMe SATA ESSD 云盘 普通云盘 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战 基础设施解耦 经典网络/VPC网络 Overlay/Underlay • 多租环境带来了更高的网络及安全隔离要求 • 无限资源 vs 有限成本 极致弹性 ECS 物理机 K8S 容器 • 冗长的请求链路,膨胀的技术栈 公有云 专有云 混合云 ……. 多场景适应 高 SLA X 低成本 X 多场景
13 .RocketMQ 5.0 架构 高可用架构升级: • 秒级故障转移,多场景容灾支持 • 无外部依赖,节点间松散耦合 • 自建及云上异构 IaaS 基础设施支持,降低成本 轻量级SDK: • 全面支持云原生通信标准 gRPC 协议 • 无状态 Pop 消费模式,多语言友好,易集成 从消息与流融合存储: • 面向 Messaging 场景的proxy,无 rebalance,无binding • Logic queue 秒级无损弹性扩缩 • 批消息索引 云原生基础设施: • 可观测性能力云原生化,OpenTelemetry 标准化 • Kubernetes 一键式部署扩容交付
14 .消费模式的全新突破 服务端负载均衡 ⚫ 消除 Consumer 与 Queue 的 Binding 关系,一个 Queue 可以由多个消费者消费 ⚫ 无 rebalance ,降低消费延迟概率 ⚫ 集群中某些消费端假死不影响整体消费进度 ⚫ 客户端更加轻量,多语言友好 流批一体 ⚫ 在Streaming场景下,单一消费者消费保证顺序 ⚫ 在 batch 场景下,无需保证顺序,可以多个consumer 加快数据读取速度
15 .消息与流融合场景下的高可用架构 灵活 ACK 消息事件 融合 存储复制 流多场景 统一 HA 快速故障 转移
16 . 流场景中的弹性能力提升 设计思想: 固定分区使用场景 1. 消息不丢、高可靠是架构的基础 ⚫ 任务计算过程中,会将同一个业务类型的数据发到同一个队列 2. 时延优先,兼顾吞吐 ⚫ Binlog 等数据同步过程中,需要保证严格顺序 3. 收敛业务共性问题,提供丰富的业务消息类型 4. 注重可运维性、弹性扩缩、流量调拨能力建设 固定分区面临的挑战 ⚫ 主节点宕机时,备节点不可写,分区数减少 ⚫ 容量调整时,数据迁移,导致网络风暴 问题重点 ⚫ 在主节点宕机时,备节点要有自动切换为主的能力 逻辑队列:秒级无损弹性扩缩,无数据复制,流量精准调度 ⚫ 容量调整时,不能产生数据迁移,且要在秒级完成
17 .RocketMQ 5.0 生态
18 .数据集成-RocketMQ Connect • 统一的异构数据源数据同步 • 专注数据拷贝 • 高效的数据同步 • 高可用,故障处理 • 动态扩缩容 • 统一的集群管理,监控能力,配置化的数据管道搭建能力。
19 .轻量级流计算-RocketMQ Streams • 定位:RocketMQ-Streams 适合随产品输出的场景 • 计算特点:RocketMQ-Streams尤其擅长大数据量->高过滤->轻窗口计算的场景 • 场景:安全,风控,边缘计算,产品依赖大数据计算且需在用户侧部署
20 .未来展望
21 .未来规划 存储融合架构升级 打造边缘计算最佳解决方案 提升 RocketMQ-Connect 生态覆盖度 未来规划 流式处理引擎RSQLDB能力深层次支持 MQTT/AMQP 协议支持
22 .深耕消息领域 • RocketMQ: https://github.com/apache/rocketmq • Broker container:https://github.com/apache/rocketmq/wiki/RIP-31-Support-RocketMQ-BrokerContainer • Slave acting master:https://github.com/apache/rocketmq/wiki/RIP-32-Slave-Acting-Master-Mode • Quorum write : https://github.com/apache/rocketmq/wiki/RIP-34-Support-quorum-write-and-adaptive-degradation-in- master-slave-architecture • Batch Queue index:https://github.com/apache/rocketmq/wiki/RIP-26-Improve-Batch-Message-Processing-Throughput • Auto batch:https://github.com/apache/rocketmq/wiki/RIP-27-Auto-batching-in-producer • Compaction topic:https://github.com/apache/rocketmq/wiki/RIP-30-Support-Compaction-topic • rocketmq-streams: https://github.com/apache/rocketmq-streams • Rsqldb: https://github.com/alibaba/rsqldb • RocketMQ website: https://rocketmq.apache.org/
23 .RocketMQ小火箭 RocketMQ公众号 开发者钉钉群
24 .