腾讯云CMQ:高可靠分布式消息队列技术解析
17 浏览量
更新于2024-08-29
收藏 401KB PDF 举报
"本文主要介绍了腾讯云分布式高可靠消息队列CMQ的架构,强调了其在金融、交易和订单等关键业务场景中的应用。CMQ具有高可靠、强一致和可扩展的特点,并通过实例展示了如何在腾讯充值系统中实现异步解耦和流量削峰。文中还详细阐述了CMQ的内部结构,包括brokerset的设计以及在可靠性、一致性和可用性上的保障措施。"
腾讯云分布式高可靠消息队列CMQ是一款自研的高性能消息中间件,它在腾讯内部广泛应用于微信红包、话费充值和广告订单等服务,现在已开放给外部用户。CMQ特别适合对可靠性与可用性有严格要求的业务,例如金融交易和订单处理。通过异步消息传递,CMQ能够降低模块间的耦合度,同时缓冲大规模突发请求对后端系统的影响。
CMQ的架构包含多个组成部分,如brokerset,通常由3个节点构成,通过多副本策略保证消息的可靠性,并通过增加节点数量提升系统的可用性。在消息的生命周期中,CMQ注重三个层面的可靠性:生产、存储和消费。
生产可靠是指消息在超过半数的broker刷盘成功后才会向客户端返回确认,若客户端在一定时间内未收到确认,则会重试。然而,由于网络异常可能导致确认消息丢失,从而产生重复消息,此时幂等性需要由业务逻辑来保证。
存储可靠则依赖于raft一致性算法,所有消息由SET中的leader节点处理,消息先写入raftlog并同步到其他follower节点,只有在超过半数的节点成功同步并刷盘后,消息才被认为被可靠存储。
消费可靠确保消息被正确消费。CMQ支持消息的顺序消费,同时提供消息回溯和补偿机制,以应对消费者可能出现的故障或错误处理。此外,CMQ还具备强大的堆积能力,能有效缓解后端消费模块的压力。
系统可用性方面,CMQ通过多节点和多副本策略实现高可用,即使单个节点故障,其他节点仍能继续提供服务。而可扩展性体现在可以通过增加set内的节点数量,线性提升系统的处理能力和存储容量。
消息全路径追踪功能使得CMQ能够监控和跟踪消息从生产到消费的全过程,这对于问题排查和性能优化至关重要。腾讯云的CMQ提供了全面的解决方案,满足了分布式系统中对于消息传递的高效、稳定和安全的需求。
181 浏览量
322 浏览量
点击了解资源详情
138 浏览量
181 浏览量
点击了解资源详情
2022-11-03 上传
2024-07-01 上传
2022-07-08 上传

weixin_38594252
- 粉丝: 7
最新资源
- VS2010环境Qt链接MySQL数据库测试程序
- daycula-vim主题:黑暗风格的Vim色彩方案
- HTTPComponents最新版本发布,客户端与核心组件升级
- Android WebView与JS互调的实践示例
- 教务管理系统功能全面,操作简便,适用于winxp及以上版本
- 使用堆栈实现四则运算的编程实践
- 开源Lisp实现的联合生成算法及多面体计算
- 细胞图像处理与模式识别检测技术
- 深入解析psimedia:音频视频RTP抽象库
- 传名广告联盟商业正式版 v5.3 功能全面升级
- JSON序列化与反序列化实例教程
- 手机美食餐饮微官网HTML源码开源项目
- 基于联合相关变换的图像识别程序与土豆形貌图片库
- C#毕业设计:超市进销存管理系统实现
- 高效下载地址转换器:迅雷与快车互转
- 探索inoutPrimaryrepo项目:JavaScript的核心应用