2020-02-09 使用mq的业务场景

使用mq的好处和弊病?

  • 解耦
  • 异步化
  • 削峰

使用mq的业务场景梳理

解耦场景:

  1. 基础平台服务场景
  • 客户变更个人信息时, user域广播消息通知其他业务线同步修改信息
  • 客户销户前, user域销需要检查各个业务线客户的资产是否已清零? 是否还有在途交易?
  • 支付域, 在对业务线通知支付结果时, 也是广播消息, 各业务线都对topic订阅, 只关注自己业务线的订单.
  • 交易域, 在进行业务线预下单时, 需要调用各业务线对进行前置校验.

异步场景:

  1. 交易下单流程特别长( 涉及到交易落地, 支付准备, 下单前置业务校验, 业务预下单, 三方支付上账, 业务支付通知等一系列流程)
    • 状态机特别多, 在一个大事务里串行处理不太可行.
    • 涉及到特别多的系统交互
    • 通过mq异步驱动每个状态机的流转

并发场景:

  1. 系统的业务接口并发量大, 性能要求高
    • 但是涉及到外部接口调用(比如基金公司实时接口, 三方支付实时接口, 银行接口等)
    • 需要保证实时接口性能,但是又不可避免调用外部产生网络延时(100ms+)
    • 此时采用的是实时接口先DB落单(同城同机房一般95line <1ms, 同城异地机房一般95line <= 3ms)
    • 再通过mq异步驱动后续流程
    • 最终通过mq通知调用方交易结果
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述 支付系统是连接消费者、商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息...
    沉落的星星阅读 10,214评论 2 83
  • 前言 提高系统性能首先考虑的是数据库的优化,之前一篇文章《数据库的使用你可能忽略了这些》中有提到过开发中,针对数据...
    IT米粉阅读 9,593评论 6 64
  • 冰释前嫌 昨天下午积蓄了一天的力量回一中,当我到中通取快递时,发现被爱人取走了,出乎我的意料,这也是一个和...
    晋显阅读 1,004评论 0 0
  • 文/向上 天空中总会有云朵 朝霞装亮美丽的东方 晚霞布置灿烂的西边 就算曾经密布乌云 可在暴风骤雨后 也许有一道绚...
    A向上阅读 1,238评论 3 7
  • 如果我们使用了angularJS中的$scope.$apply()或者$scope.$digest(),我们很可能...
    天已微蓝_9aca阅读 5,555评论 0 0

友情链接更多精彩内容