苏州奥尔马电子科技有限公司
江苏省苏州市高新区金猫路9号B幢
丁经理
13584892482
13584892482
135848924828
腾讯云消息队列(Cloud Message Queue,CMQ)是一种分布式消息队列服务,它能够提供可靠的基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)之间的收发消息,存储在可靠有效的 CMQ 队列中,防止消息丢失。CMQ 支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
腾讯云 CMQ 的特性
消息永不丢失(微信)
CMQ 在微信红包系统的分布式事务问题上得到了体现,微信架构组在红包系统引入了 CMQ,避免分布式事务增加对系统的开销。CMQ 红包队列,保证了红包消息的可靠传递和存储。当资金入账失败时,账户系统将不断从 CMQ 重新拉取重试此更新操作,保证入账消息永远不丢,避免入账失败回滚和频繁轮询数据库等弊端发生,了解更多。
实现高扩展性
CMQ 后端集群对用户来说是透明无感知的,CMQ 控制服务器可根据集群的负载情况实时对队列进行调度搬迁。如果某个队列服务的请求量超过当前集群的服务阈值,controller server 可以将队列路由分布到多个集群上来提高并发量,理论上可以达到无限的消息堆积以及超高的 QPS,轻松应对业务需求。
使用 CMQ 满足了 2 个核心需求:
客户的促销系统,消费者入账的时候是异步的。入账信息先写到 MQ 里,消费者过来拉取,且消费者确认已成功消费后,回调接口将 MQ 里的信息删除。
各大系统包括运维、告警、运营系统的日志流水,先聚合到 CMQ 中,后端的大数据分析集群按处理能力,不断到CMQ中拉取并分析。CMQ 理论上支持的消息堆积数量无上限,使用无后顾之忧。
同城容灾
CMQ 支持在金融机房下(2个可用区)分别部署两套 CMQ 集群(如深圳坪山、观澜),业务方可以根据实际需求将消息写入任意园区。
消息 body 的存储,可根据业务特性选择,同步落盘(强一致性)、异步落盘(最终一致性)的不同策略。
当主节点 MQ 数据彻底丢失时,主备节点的 RPO 在 5min 以内。腾讯云提供 failover、failback 切换的 API 接口,将灾难恢复、切换的控制权交给客户。准备切换后,存在数据的差异,可关联其他 DB 做对账等处理,补回数据。
金融级的容灾方案为 Webank、财付通等核心业务保驾护航。
客户案例