RocketMQ v3.2.4 开发指南
........................................................................................ 29 9.1 网络协议 ................................................................................................ taobao.metaq v3.0 = RocketMQ + 淘宝个性化需求 为淘宝应用提供消息服务 项目开源主页:https://github.com/alibaba/RocketMQ 2 com.alipay.zpullmsg v1.0 = RocketMQ + 支付宝个性化需求 为支付宝应用提供消息服务 com.alibaba.commonmq v1.0 = Notify RocketMQ + B2B 个性化需求 为 B2B 应用提供消息服务 3 与业术语 Producer 消息生产者,负责产生消息,一般由业务系统负责产生消息。 Consumer 消息消费者,负责消费消息,一般是后台系统负责异步消费。 Push Consumer Consumer 的一种,应用通常吐 Consumer 对象注册一个 Listener 接口,一旦收到消息,Consumer0 码力 | 52 页 | 1.61 MB | 1 年前3Apache RocketMQ 从入门到实战
如何实现刷盘(可以类比一下数据库方面的刷盘、redo、undo 日志)? RocketMQ 文件存储设计理念、基于文件的 Hash 索引是怎么实现的? 定时消息、消息过滤等实现原理。 如何进行网络编程(Netty 实战)? 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 其实我一开始连我自己也没有意识到我正在参与一个开源项目,直到我在冯嘉大神为我 写的序言中给了我一个新的称号:RocketMQ 布道师,从而才真正了解到参与开源的另外 一种方式:做一个开源项目的传播者,让更多人更容易的应用它,即降低大众对它的使用门 槛。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 开篇:我的另一种参与 RocketMQ 开源社区的方式 < 8 有了新的称号,那就得更加努力,朝着优秀努力,在 定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions 非常容易,提交一个 PR 并被通过即可,甚至于 提交一个文档被接受也同样可以,难的是持续贡献,最终被开源项目的0 码力 | 165 页 | 12.53 MB | 1 年前3Apache RocketMQ on Amazon Web Services
自定义堆栈名称后,配置必填参数选项,并且根据需求调整已有默认值的选项。以下 为详细的参数解释。两个选项除了网络配置不同以外,其他配置都是相同的。 选项 1:⽤于将 Apache RocketMQ 部署到新 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 Availability Zones AvailabilityZones 化并且存放到了不同的前缀目录 下。 选项 2:用于将 RocketMQ 部署到现有 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 VPC VPC 必填项 您希望部署到的已有 VPC ID(例 如, vpc0343606e)。 2 Primary Node Subnet RocketMQ 的应用程 序目录 3 /home/ec2-user/rocketmq-deploy/install.log 部署脚本的安装日志,如果 有错误可以查看这个日志 4 /home/ec2-user/rocketmq-deploy/rocketmq-console-ng-1.0.0.jar Apache RocketMQ Console 的 应用程序 Broker:0 码力 | 18 页 | 1.55 MB | 1 年前3快速部署高可用的Apache RocketMQ 集群 - Amazon S3
配置都是相同的。 选项 1:⽤于将 Apache RocketMQ 部署到新 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 Availability Zones AvailabilityZones 必填项 ⼦⽹可⽤区的列表。 您指定的 逻辑顺序会被保留。此部署使⽤ 2 个或 化并且存放到了不同的前缀⽬录 下。 选项 2:⽤于将 RocketMQ 部署到现有 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 VPC VPC 必填项 您希望部署到的已有 VPC ID (例如, vpc0343606e)。 2 Primary Node Subnet release or /home/ec2-user/rocketmq-deploy/rocketmq-all-4.8.0-bin- release Apache RocketMQ 的应用 程序目录 3 /home/ec2-user/rocketmq-deploy/install.log 部署脚本的安装日志,如果 有错误可以查看这个日志 Page 16 of0 码力 | 21 页 | 2.57 MB | 1 年前3基于Apache APISIX 与RocketMQ 构建云原生一体化架构
物理机 经典网络/VPC 网络 Overlay/Underlay NVMe 普通云盘 ESSD 云盘 SA TA 独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战 • 多租环境带来了更高的网络及安全隔离要求 低成本 高 SLA X 客户价值: X 多场景 云原生时代的挑战 云原生四要素 云原生时代的 RocketMQ admin 富客户端 轻量级 SD K API兼容 计算 云存储 VPC 网络 Kubernetes Name Server Name Server Name Server 计算集群 可观测 remoting gRPC MQTT AMQP AC L 消息 事件 加快数据读取速度 你集群是正常的,但我消费就是出问题了,怎么办!? 无损弹性扩缩 固定分区面临的挑战 • 无切换架构中,主节点宕机,备节点不可写,分区数量减少 • 容量不足,Kafka 分区迁移时,会导致网络风暴,耗时极长 问题重点 • 在主节点宕机时,备节点要有自动切换为主的能力 • 容量调整时,不能产生数据迁移,且要在秒级完成 固定分区使用场景 • 任务计算过程中,会将同一个业务类型的数据发到同一个队列0 码力 | 22 页 | 2.26 MB | 1 年前3消息中间件RocketMQ原理解析 - 斩秋
Consumer 消费拉取的消息的方式有两种 1. Push 方式:rocketmq 已经提供了很全面的实现, consumer 通过长轮询拉取消息后回调 MessageListener 接口实现完成消费, 应用系统只要 MessageListener 完成业务逻辑即可 2. Pull 方式:完全由业务系统去控制,定时拉取消息,指定队列消费等等, 当然这里需要 业务系统去根据自己的业务需求去实现 返回结果 pullResult 更新从哪个 broker(master 还是 slave)拉取消息 反序列化消息 消息过滤 消息中放入队列最大最小 offset, 方便应用来感知消息堆积度 将消息加入正在处理队列 ProcessQueue 将消息提交到消费消息服务 ConsumeMessageService 流控处理, 如果 pullInterval 参数大于 ackIndex 来标记 成功消费到哪里了 消费失败, ackIndex 设置为-1 广播模式发送失败的消息丢弃, 广播模式对于失败重试代价过高,对整个集 群性能会有较大影响,失败重试功能交由应用处理 集群模式, 将消费失败的消息一条条的发送到 broker 的重试队列中去,如果 此时还有发送到重试队列发送失败的消息,那就在 cosumer 的本地线程定时 5 秒钟以后重试重新消费消息, 在走一次上面的消费流程。0 码力 | 57 页 | 2.39 MB | 1 年前3Apache RocketMQ 介绍
RocketMQ采用长轮询,消息投递延迟通常在几个毫秒左右。 ● RocketMQ单机最高支持5万个队列,且负载不会发生明显递增。 ● RocketMQ支持消费失败重试,这个特性非常适合运用在充值方面的应用。 ● RocketMQ支持严格的意义上的消息顺序。即时在一台Broker宕机后,消息发送会失败,但是不会 序。 ● RocketMQ支持定时消息 ● RocketMQ支持分布式事务消息 ●0 码力 | 5 页 | 375.48 KB | 1 年前3万亿级数据洪峰下的消息引擎Apache RocketMQ
双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制 完善的容量评估 SLA=99.999% 1.4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟 3. 调用抛异常隔 离1分钟 4. 如果隔离的服 务器超过30%, 则有部分调用 会进入隔离列 表中最早隔离0 码力 | 35 页 | 993.29 KB | 1 年前3万亿级数据洪峰下的消息引擎 Apache RocketMQ
双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制 完善的容量评估 SLA=99.999% 1.4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟 3. 调用抛异常隔 离1分钟 4. 如果隔离的服 务器超过30%, 则有部分调用 会进入隔离列 表中最早隔离0 码力 | 35 页 | 5.82 MB | 1 年前3
共 9 条
- 1