分布式消息服务DMS是完全托管的高性能消息队列服务,提供普通队列、有序队列、Kafka、ActiveMQ、RabbitMQ,兼容HTTP、TCP、AMQP协议,为分布式应用提供灵活可靠的异步通信机制。使用DMS,用户可以创建消息队列,将消息队列作为一个传输消息的中转站,存储应用程序不同组件间传递的消息,从而做到在应用程序的不同组件之间传输消息时,不要求各个组件同时处于可用状态。
作为分布式系统中重要的组件,消息队列主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。那么,在实际应用中,分布式消息服务常用的使用场景有哪些呢?让我们一起来看一下。
1、分布式系统异步通信
在单体应用中,业务流程耦合导致系统对用户请求响应慢,可以通过将拆分子系统,并用消息队列作为子系统间的异步通信通道进行系统解耦,提升整个系统的响应速度。
优势:
加快系统响应:系统分布式解耦,并行处理,加快系统对用户请求的响应速度。
降低系统耦合:子系统间通过消息队列通信,避免相互耦合和影响。
数据缓存:消息队列提供亿级消息堆积能力,帮助系统在峰值情况下从容应对。
2、物联网
物联网设备通过接入网关连接云端,DMS消息队列可以提供高速的数据传输通道,连接后端的数据分析系统。
优势:
高并发:单队列最高至10万TPS,并可通过队列数扩展提升整系统并发能力
灵活扩展:队列处理能力按需自动扩展,轻松应对接入设备的增强
3、数据同步
在大中型分布式系统中,DMS可以帮助各个子系统的数据及时同步到后台模块,并提供数据通道帮助触发其他的业务流程,如函数处理、消息通知等。
优势:
高并发:单队列最高至10万TPS,并可通过队列数扩展提升整系统并发能力
丰富消息类型:广播消息、延时消息、消息重投等使得应用可灵活控制数据同步时间
低时延:消息投递时间可至毫秒级,保证消息及时性
4、高扩展性应用
针对存在扩展性要求的应用,DMS可以提供统一的接入通道,后续对接系统的增加减少都不会影响核心业务系统。
优势:
集成方便:支持普通队列、FIFO队列、Kafka队列类型以及Http,TCP接入,轻松完成与其他系统的集成
按需扩展:队列处理能力按需自动扩展,及时方便完成系统扩展
异步通信:异步通信,海量堆积等能力有效隔离各业务系统增加系统健壮性
在消息队列的选择上,想要安全稳定,并在“伸缩性”和“可靠性”上要有好的作为,非分布式消息服务莫属了~
来源:51CTO
作者:中间件小哥
链接:https://blog.51cto.com/13739602/2129334