有奖捉虫:云通信与企业服务文档专题,速来> HOT

一对多生产

系统组件之间或者应用之间通信较多,需要组件或者应用自身维护彼此的网络连接,而且通信的内容不仅一种,实现难度和维护成本较大。 使用 TDMQ CMQ 版可以实现生产者向多个订阅者,同时异步投递消息的能力,同时客户端可以通过消息过滤消费其中的某类消息。


异步通知

发送消息时,接收者由于断电、宕机或 CPU 负载过高等原因不可用,消息无法可靠传递。使用 TDMQ CMQ 版,消息会被持久化保存在队列中,直到接收者可用时消息被成功消费。


系统解耦

公司业务收到用户提交的内容,将部分数据存储在自身的系统中,并将处理后的数据转发给其他业务应用(如数据分析系统、数据存储系统等),在这种系统组件之间或者应用之间耦合较紧,尤其对依赖的组件可控性较弱的情况下,使用 TDMQ CMQ 版,发送者和接收者对彼此信息无感知,耦合度大大降低。


削峰填谷

在秒杀或团队抢购活动中,由于用户请求量较大,往往都会带来临时性的流量洪峰,这对后端的各个应用系统考验是十分巨大的,如果直接采用扩容方式应对又会带来一定的资源浪费。TDMQ CMQ 版此时便可以承担一个缓冲器的角色,将上游突增的请求集中收集,下游可以根据自己的实际处理能力来消费请求消息。


屏蔽平台差异

随着电商系统架构逐渐成长,假如订单系统(order_module)采用 Java 架构,库存系统(inventory_module)采用 Erlang 架构,而发货系统使用的是 Python 架构......开发人员需要长期维护一些冗余的代码来支持各模块之间通信。引入 TDMQ CMQ 版后,可以屏蔽不同平台,不同编程语言之间的差异。


跨用户数据交换

两个服务在网络不能互通或者应用的路由信息(例如 IP 和端口)不确定的情况下需要通信。例如:两个腾讯云上的服务在不知道对方地址的情况下需要进行通信,引入 TDMQ CMQ 版后,可以通过约定相同的队列名,一个向队列中发消息,一个从队列中收消息来进行数据交换。