Apache RocketMQ 从入门到实战
RocketMQ 核心概念扫盲篇 3. Client 消息客户端,包括 Producer(消息发送者)和 Consumer(消费消费者).客户端在同一 时间只会连接一台 nameserver,只有在连接出现异常时才会向尝试连接另外一台。客户 端每隔 30s 向 Nameserver 发起 topic 的路由信息查询。 温馨提示:Nameserver 是在内存中存储 Topic 的路由信息,持久化 主从自动切换,本文并不关心主从切换功能。 一、初识主从同步 主从同步基本实现过程如下图所示: RocketMQ 的主从同步机制如下: 首先启动 Master 并在指定端口监听; 客户端启动,主动连接 Master,建立 TCP 连接; 客户端以每隔 5s 的间隔时间向服务端拉取消息,如果是第一次拉取的话,先获取本地 commitlog 文件中最大的偏移量,以该偏移量向服务端拉取消息; 服务端解析请求,并返回一批数据给客户端; [consumer-client-id-clust erA-192.168.3.123@22164] 上面的日志显示在队列负载时候,当前节点竟然不属于 consumer-grouptest 消费 组的活跃连接,导致一大片的报错: 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.5 踩坑记:rocketmq-console 消费 TPS 为 0,但消息积压数却在降低是个什么“鬼”0 码力 | 165 页 | 12.53 MB | 1 年前3RocketMQ v3.2.4 开发指南
.. 30 9.3 连接复用 .......................................................................................................................................................... 31 9.4 超时连接 ............ 返种错诨通常需要跳过返条消息,再消费其他消息,而返条失败的消息即使立刻重试消费,99%也丌成功, 所以最好提供一种定时重试机制,即过 10s 秒后再重试。 2. 由亍依赖的下游应用服务丌可用,例如 db 连接丌可用,外系统网络丌可达等。 遇到返种错诨,即使跳过当前失败的消息,消费其他消息同样也会报错。返种情冴建议应用 sleep 30s,再 消费下一条消息,返样可以减轻 Broker 重试消息的压力。 Broker 不 Name Server 集群中的所有节 点建立长连接,定时注册 Topic 信息到所有 Name Server。 Producer 不 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 叏 Topic 路 由信息,幵吐提供 Topic 服务的 Master 建立长连接,丏定时吐 Master 収送心跳。Producer 完全无状态,可0 码力 | 52 页 | 1.61 MB | 1 年前3消息中间件RocketMQ原理解析 - 斩秋
haServerAddr,然后更新到 HAClient 当HAClient的MasterAddress不为空的时候(因为broker master 和slave都构建了HAClient) 会主动连接 master 获取 SocketChannel Master 监听 Slave 请求的端口,默认为服务端口+1 接收 slave 上传的 offset long 类型 int pos = 服务,负责同步双写,异步复制功能, 这个类 master 和 slave 的 broker 都会实例化, Master 通过 AcceptSocketService 监听 slave 的连接,每个 master slave 连接都会构建一个 HAConnection 对象搭建他们之间的桥梁, 对于一个 master 多 slave 部署结构的会有多个 HAConnection 实例, Master 构建 master 返回同步 commitLog 的物理偏移量 phyOffset 值 通知前端线程,如果是同步复制的话通知是否复制成功 Slave 通过 HAClient 建立与 master 的连接, 来定时汇报 slave 最大物理 offset,默认 5 秒汇报一次也代表了跟 master 之间的心跳检测 读取 master 向 slave 写入 commitlog 的数据, master0 码力 | 57 页 | 2.39 MB | 1 年前3Apache RocketMQ on Amazon Web Services
个,由光环新网运营的 AMAZON WEB SERVICES(北京)区域为 2 个)。 • (*) 在公有⼦网中,允许私有⼦网中的资源(RocketMQ 实例)进⾏出站 Internet 连接的 NAT Gateway。 • (*) 在公有⼦网中,Auto Scaling 组中的允许 SSH 访问的堡垒主机。默认情况 下将 部署一台堡垒主机,此数目可配置,最多启动 4 台。通过堡垒主机访 请确保您在不同可用区中已有⾄少两个公有⼦网和三个私有⼦网。 • 确保 DHCP 选项中开启了域名选项配置集。 • 确保私有⼦网的路由表中存在 NAT 网关或 NAT 实例的路由,使得其拥有出 站 Internet 连接。 • 您必须创建堡垒主机及其关联的安全组以实现⼊站 SSH 访问 快速部署 本文的步骤主要针对在运⾏在由西云数据运营的 AMAZON WEB SERVICES(宁夏)区域 或由光环新网运营的 允许所有的外部主机访问,可以 设置为 0.0.0.0/0 Security Configuration 安全配置 11 Key Name KeyPairName 必填项 EC2 密钥对,用于连接 EC2 实 例。 Linux Bastion Configuration 堡垒机配置 Page 9 of 18 12 Bastion AMI Operating0 码力 | 18 页 | 1.55 MB | 1 年前3快速部署高可用的Apache RocketMQ 集群 - Amazon S3
马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的 亚马逊云科技(北 京)区域为 2 个)。 • (*) 在公有⼦⽹中,允许私有⼦⽹中的资源(RocketMQ 实例)进⾏出站 Internet 连接的 NAT Gateway。 • (*) 在公有⼦⽹中,Auto Scaling 组中的允许 SSH 访问的堡垒主机。默认 情况下将 部署⼀台堡垒主机,此数⽬可配置,最多启动 4 台。通过堡垒主 7 of 21 • 确保 DHCP 选项中开启了域名选项配置集。 • 确保私有⼦⽹的路由表中存在 NAT ⽹关或 NAT 实例的路由,使得其拥有 出站 Internet 连接。 • 您必须创建堡垒主机及其关联的安全组以实现⼊站 SSH 访问 快速部署 本文的步骤主要针对在运行在由西云数据运营的亚马逊云科技(宁夏)区域或由光环 新网运营的亚马逊云科技(北 Security Configuration 安全配置 Page 10 of 21 11 Key Name KeyPairName 必填项 EC2 密钥对,⽤于连接 EC2 实 例。 Linux Bastion Configuration 堡垒机配置 12 Bastion AMI Operating System BastionAMIOS0 码力 | 21 页 | 2.57 MB | 1 年前3
共 5 条
- 1