支付交易系统架构调研

交易过程:

  1. 客户下单
  2. 客户完成支付
  3. 商家接单
  4. 商家发货

从软件开发角度, 还有一些非功能性需求需要实现:

  1. 性能: 特别是秒杀的时候,如何满足高频率的支付需求?
  2. 可靠性:不用说,系统能达到几个9,是衡量软件设计功力的重要指标。 99%是基础, 99.999%是目标,更多的9哪就是神了。
  3. 易用性:支付中多一个步骤,就会流失至少2%的用户。 产品经理都在削尖脑袋想想怎么让用户赶紧掏钱。
  4. 可扩展性: 近年来支付业务创新产品多,一元购、红包、打赏等,还有各种的支付场景。 怎么能够快速满足产品经理的需求,尽快上线来抢占市场,可扩展性对支付系统设计也是一个挑战。
  5. 可伸缩性:为了支持公司业务,搞一些促销活动是必须的。 那促销带来的爆发流量,最佳应对方法就是加机器了。 平时流量低,用不了那么多机器,该释放的就释放掉了, 给公司省点钱。

典型支付系统架构:

某旅游公司:

京东金融:

支付系统一般会提供如下子系统:

  1. 支付应用和产品.(应用层): 这是针对各端(PC Web端、android、IOS)的应用和产品。 为各个业务系统提供收银台支持,同时支付作为一个独立的模块,可以提供诸如银行卡管理、理财、零钱、虚拟币管理、交易记录查阅、卡券等功能;
  2. 支付运营系统(应用层): 支付系统从安全的角度来说,有一个重要的要求是,懂代码的不碰线上,管运营的不碰代码。这对运营系统的要求就很高,要求基本上所有线上的问题,都可以通过运营系统来解决。
  3. 支付BI系统(应用层): 支付中产生大量的数据,对这些数据进行分析, 有助于公司老板们了解运营状况,进行决策支持。
  4. 风控系统(应用层):这是合规要求的风险控制、反洗钱合规等。
  5. 信用信息管理系统(应用层):用来支持对信用算法做配置,对用户的信用信息做管理。
    支付系统一般会提供如下子系统:
  6. 支付应用和产品.(应用层): 这是针对各端(PC Web端、android、IOS)的应用和产品。 为各个业务系统提供收银台支持,同时支付作为一个独立的模块,可以提供诸如银行卡管理、理财、零钱、虚拟币管理、交易记录查阅、卡券等功能;
  7. 支付运营系统(应用层): 支付系统从安全的角度来说,有一个重要的要求是,懂代码的不碰线上,管运营的不碰代码。这对运营系统的要求就很高,要求基本上所有线上的问题,都可以通过运营系统来解决。
  8. 支付BI系统(应用层): 支付中产生大量的数据,对这些数据进行分析, 有助于公司老板们了解运营状况,进行决策支持。
  9. 风控系统(应用层):这是合规要求的风险控制、反洗钱合规等。
  10. 信用信息管理系统(应用层):用来支持对信用算法做配置,对用户的信用信息做管理。

http://www.bijishequ.com/detail/95641