天翼云分布式消息服务RabbitMQ的应用场景
文档简介:
异步解耦
以电商秒杀、抢购等流量短时间内暴增场景为例,传统做法用户下单后,订单系统发送查询请求到库存系统,等待库存系统返回请求结果给订单系统。如果库存系统发生故障,订单系统获取不到数据,订单失败。这种情况下,订单系统和库存系统两个子系统高耦合。
应用系统解耦
通过上、下游业务系统的松耦合设计,即便下游子系统(如物流、积分等)出现不可用甚至宕机,都不会影响到核心交易系统的正常运转。
应用场景
异步解耦
以电商秒杀、抢购等流量短时间内暴增场景为例,传统做法用户下单后,订单系统发送查询请求到库存系统,等待库存系统返回请求结果给订单系统。如果库存系统发生故障,订单系统获取不到数据,订单失败。这种情况下,订单系统和库存系统两个子系统高耦合。
应用系统解耦
通过上、下游业务系统的松耦合设计,即便下游子系统(如物流、积分等)出现不可用甚至宕机,都不会影响到核心交易系统的正常运转。
屏蔽平台差异
当电商系统架构逐渐成长,差异性带来的问题可能逐渐凸显出来:假如订单系统(order_module)采用 Java 架构,库存系统( inventory_module)采用 Erlang 架构,而发货系统使用的是 Python 架构......使用传统的解决方案时,开发人员需要长期维护一些冗余的代码来将各个模块间传入的 HTTP 请求转化为应用程序中的函数调用。
屏蔽不同平台
可以屏蔽不同平台,不同编程语言之间的差异。RabbitMQ提供Java、.NET、Ruby、Python、Go和Node.js等多种客户端接入,系统之间的数据交互变得异常简单。