快速部署高可用的Apache RocketMQ 集群 - Amazon S3Page 1 of 21 快速部署高可用的 Apache RocketMQ 集群 部署手册 顾明 版本:v1.2.0 最后更新时间: 2023 年 11 月 Copyright (c) 2021 by Amazon.com, Inc. or its affiliates. Page 2 of 21 年成为 Apache 的 顶级项目,RocketMQ 具有低延迟,金融级高可用以及厂商中立的特点,目前广泛使 用于国内外的互联网公司。针对亚马逊云科技客户需要在亚马逊云科技上使用 RocketMQ 的需求,我们开发了一键部署的方案,帮助客户快速的在自己的账号部署 一个基于 EC2 的高可用的 RocketMQ 集群。 架构 Amazon CloudFormation 提供了⼀种创建和管理相关 实例,每个 Broker 实例会在三个 Broker Instance 之间形成一个基于 Raft 的高可用 dledger 集群,如果其中一个 Broker 实例 因故障无法提供服务,Raft 协议会自动在另外两个 Instance 中选择一个作为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 21 •0 码力 | 21 页 | 2.57 MB | 1 年前3
RocketMQ v3.2.4 开发指南................................................................................ 35 12.2 Broker 集群搭建 ................................................................................................ 规范中,消费方式都属亍广播消费。 在 JMS 规范中,相当亍 JMS publish/subscribe model 项目开源主页:https://github.com/alibaba/RocketMQ 3 集群消费 一个 Consumer Group 中的 Consumer 实例平均分摊消费消息。例如某个 Topic 有 9 条消息,其中一个 Consumer Group 有 3 个实例(可能是 3 台机器),那举每个实例只消费其中的 3 条消息。 在 CORBA Notification 规范中,无此消费方式。 在 JMS 规范中,JMS point-to-point model 不乀类似,但是 RocketMQ 的集群消费功能大等亍 PTP 模型。 因为 RocketMQ 单个 Consumer Group 内的消费者类似亍 PTP,但是一个 Topic/Queue 可以被多个 Consumer Group0 码力 | 52 页 | 1.61 MB | 1 年前3
Apache RocketMQ 从入门到实战RocketMQ 作为一款高吞吐,抗万亿消息堆积的云原生消息平台,目前已 经被国内 75% 以上互联网、金融等公司所采用,逐渐成为企业 IT 架构的核心基础设施。 丁威老师作为资深架构师,在分布式架构、存储方面功底深厚,目前在企业内部负责着 日均千亿级消息流转的 RocketMQ 集群。本书不仅由浅入深的介绍了 RocketMQ 的架 构与实现,而且包含了多年线上超大规模集群开发运维经验的总结,通过本书不仅能够掌握 消息发送 system busy、broker busy 原因分析与解决方案坑 91 1.10 再谈 RocketMQ broker busy 104 1.11 从年末生产故障解锁 RocketMQ 集群部署的最佳实践 108 1.12 RocketMQ 一行代码造成大量消息丢失 115 1.13 RocketMQ DLedger 多副本即主从切换实战 121 1.14 RocketMQ msgId 如何进行网络编程(Netty 实战)? 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 息过滤、事务消息等各个方面对其进行了体系化的剖析,边写边分享,边分享边传播,终于 得到了机械工业出版社华章分社的杨福川老师的认可,邀请我出书。 在杨老师和张工的帮0 码力 | 165 页 | 12.53 MB | 1 年前3
Apache RocketMQ on Amazon Web Services顶级项 目,RocketMQ 具有低延迟,金融级高可用以及厂商中立的特点,目前广泛使用于国内 外的互联网公司。针对 AMAZON WEB SERVICES 客户需要在 AMAZON WEB SERVICES 上 使用 RocketMQ 的需求,我们开发了一键部署的方案,帮助客户快速的在自己的账号 部署一个基于 EC2 的高可用的 RocketMQ 集群。 架构 AMAZON CloudFormation Instance 之间形成一个基于 Raft 的高可用 dledger 集群,如果其中一个 Broker 实例因故障无法提供服务,Raft 协议会自动在另外两个 Instance 中选择一个作 为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 18 • (*) 跨越多个可用区的公有⼦网和私有⼦网的 VPC(由西云数据运营的 Amazon EBS 存储的⼤⼩。快速⼊⻔将把副 本集启动在在不同的可用 区中。如果您选择的 AMAZON WEB SERVICES 区域 Page 5 of 18 为由光环新网运营的 AMAZON WEB SERVICES(北京)区域,因其对外 提供 2 个可用区,本解决方案将重复使用其中一个可用区来创建第三个⼦网。 部署说明 1. 此方案仅针对使用由西云数据运营的0 码力 | 18 页 | 1.55 MB | 1 年前3
基于Apache APISIX 与RocketMQ 构建云原生一体化架构业务消息领域挑战 • 核心链路,稳定性要求高、时延敏感 • 容量峰值具有随机性,弹性要求高 • 业务场景复杂、集成要求尽可能简单 • 运维及流量调拨要求高 极简架构 高性能 金融级高可靠 打造业务消息领域首选 零依赖 可扩展 低延迟 高吞吐 强同步刷盘 ACK 机制 普通消息 顺序消息 延迟消息 事务消息 重试消息 死信消息 设计思想: 1.消息不丢、高可靠是架构的基础 2.时延优先,兼顾吞吐 0 RocketM Q v 3 .0 Ap a che RocketM Q 4.x Lin ux Op en M essa gin g 主从复制架构升级,性能提升数倍 RAFT 存储生产可用 rocketm q-con n ect 进入孵化 2021 5.0 -p rev iew 发布 性能优化、PoP 消费,多存储目录, 轻量级队列 rocketm q-strea m s 专有云 混合云 EC S 容器 K8S 物理机 经典网络/VPC 网络 Overlay/Underlay NVMe 普通云盘 ESSD 云盘 SA TA 独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战0 码力 | 22 页 | 2.26 MB | 1 年前3
万亿级数据洪峰下的消息引擎Apache RocketMQn c . c o m ©2016 Alibaba Middleware Group n 历年双11消息数量变化 n 消息中间件核心链路 n 低延迟存储 n 容量保障 n 熔断机制 n 多副本高可用 10亿 百亿 千亿 5千亿+ 万亿+ 历年双11消息数量变化 2012双11 2013双11 2014双11 2015双11 2016双11 用户请求 交易 交易 易 用户请求 万亿洪峰下有哪些问题 机器假死 IO Util,Load飙高 磁盘响应慢 消息大量堆积 网卡故障,甚至流量跑满 磁盘损坏 零点之战:发布消息SLA要求100% 慢请求开始大量增加 分布式系统雪崩 容量不足,单机热点 问题的本质: 可用性无限接近100% 可靠性无限接近100% 可用性 > 可靠性 1.4万亿 双十一当天高可用要求 ~~ 100% ???????????? = time to recover. ???? = 1 seconds ???????????? = >?∗>?∗AB C D >?∗>?∗AB = 99.999% 1.4万亿 双十一当天高可用标准 0 200 400 600 800 1000 1200 1400 1600 1 6 11 16 21 26 31 36 41 46 51 56 610 码力 | 35 页 | 993.29 KB | 1 年前3
万亿级数据洪峰下的消息引擎 Apache RocketMQn c . c o m ©2016 Alibaba Middleware Group n 历年双11消息数量变化 n 消息中间件核心链路 n 低延迟存储 n 容量保障 n 熔断机制 n 多副本高可用 10亿 百亿 千亿 5千亿+ 万亿+ 历年双11消息数量变化 2012双11 2013双11 2014双11 2015双11 2016双11 用户请求 交易 交易 易 用户请求 万亿洪峰下有哪些问题 机器假死 IO Util,Load飙高 磁盘响应慢 消息大量堆积 网卡故障,甚至流量跑满 磁盘损坏 零点之战:发布消息SLA要求100% 慢请求开始大量增加 分布式系统雪崩 容量不足,单机热点 问题的本质: 可用性无限接近100% 可靠性无限接近100% 可用性 > 可靠性 1.4万亿 双十一当天高可用要求 ~~ 100% ???????????? = time to recover. ???? = 1 seconds ???????????? = >?∗>?∗AB C D >?∗>?∗AB = 99.999% 1.4万亿 双十一当天高可用标准 0 200 400 600 800 1000 1200 1400 1600 1 6 11 16 21 26 31 36 41 46 51 56 610 码力 | 35 页 | 5.82 MB | 1 年前3
Apache RocketMQ 介绍RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的创新点在于能够通过精巧的横向、纵向扩展,不断满足与日俱增的海量消息在 吞吐、高可靠、低延迟方面的要求。 目前RocketMQ主要由NameServer、Broker、Producer以及Consumer四部分构成,如下图所示。 原文链接:Apache RocketMQ 介绍 告警机 。这些都是传统消息系统无法比拟的。 Producer由用户进行分布式部署,消息由Producer通过多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的 息订阅机制,满足大多数消费场景。 特点 ● RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制。具有高可靠性。不会因为操作系 顶级项目下,拥有不少子项目,包括 HornetMQ演变而来的Artemis,基于Scala号称下一代AMQ的Apollo等。 而Kafka最初被设计用来做日志处理,是一个不折不扣的大数据通道,追求高吞吐,存在丢消息的可 。其背后的研发团队也围绕着Kafka进行了商业包装,目前在一些中小型公司被广泛使用。 下表是一目了然的快速参考,可快速发现RocketMQ及其最受欢迎的替代产品之间的差异。 Messaging0 码力 | 5 页 | 375.48 KB | 1 年前3
rocketmq 服务部署/Users/gitsilence/JavaTools/rocketmq/rocketmq-4.9.2-SNAPSHOT/bin/mqshutdown namesrv 原文链接:rocketmq 服务部署 集群部署 双主双从异步复制模式 两个台电脑 ● Mac OS ● 地址:192.168.166.20 ● Cent OS ● 地址:192.168.166.206 保证两台电脑在同一网段,端口是通的,可以关闭防火墙 oker的10911、11011、10909、11009端口 Mac OS rocketmq配置文件 1、编辑 conf/2m-2s-async/broker-a.properties # 集群名称 brokerClusterName=mq-broker-cluster # broker名字,不同的配置文件填写的不一样 brokerName=broker-a # 0 表示master,>0 H=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=10911 # nameServer地址,如果name server是多台集群的话,就用分号分隔 namesrvAddr=192.168.166.20:9876;192.168.166.206:9876 # 每个topic对应队列的数量,默认为4,实际参考consumer实0 码力 | 11 页 | 284.35 KB | 1 年前3
消息中间件RocketMQ原理解析 - 斩秋topic 路由信息 定时清理下线的 borker 定时向所有 broker 发送心跳信息,(包括订阅关系) 定时持久化 Consumer 消费进度(广播存储到本地,集群存储到 Broker) 统计信息打点 动态调整消费线程池 启动拉消息服务 PullMessageService 启动消费端负载均衡服务 RebalanceService 来标记 成功消费到哪里了 消费失败, ackIndex 设置为-1 广播模式发送失败的消息丢弃, 广播模式对于失败重试代价过高,对整个集 群性能会有较大影响,失败重试功能交由应用处理 集群模式, 将消费失败的消息一条条的发送到 broker 的重试队列中去,如果 此时还有发送到重试队列发送失败的消息,那就在 cosumer 的本地线程定时 5 秒钟以后重试重新消费消息, 在走一次上面的消费流程。 第四章: NameServer Namesrv 名称服务,是没有状态可集群横向扩展。 1. 每个 broker 启动的时候会向 namesrv 注册 2. Producer 发送消息的时候根据 topic 获取路由到 broker 的信息 3. Consumer 根据0 码力 | 57 页 | 2.39 MB | 1 年前3
共 11 条
- 1
- 2













