详述支付路由的设计方案

正文

  在支付的过程中,用户在前端选择一种支付方式,比如使用招行借记卡来支付后,系统不一定就是调用招行的接口来执行支付。支付宝、微信、易宝支付等第三方支付平台以及银联等,都支持招行借记卡支付,这种将支付方式落地到具体的支付接口的模块,就是支付路由。

1 设计目标

支付路由在支付系统中的核心作用,除了本职工作路由外,还承担如下职责:

  • 省钱、省钱、省钱,这是支付路由选择支付通道的最主要的规则,哪个通道省钱,基本会优先考虑这个通道。
  • 提升支付产品的 QOS,这体现在系统的可靠性、稳定性、性能和可用性上,通过屏蔽掉无法连接、不稳定、性能低的通道来提升这些指标。
  • 支持营销,通过优先选择有优惠活动的通道,可以帮助业务提升付费客户量。
  • 降低运营成本,一个设计良好的支付路由,可以大大降低运营投入。

2 软件架构

上述流程,在实现上,参考的架构设计如下:

router

支付路由并不会直接对接前端的支付产品或者后端的支付渠道,它是支付网关的一部分。如果是基于微服务的架构,支付路由作为一个独立的服务,被支付网关所调用。

3 计算因子

  路由规则是支付路由的核心。在规则设置上,需要和公司的业务、支付服务的 scope 来综合考虑。这里讲述的是通用的规则设计,供具体实现时参考。

router-rules

  • 产品类型:当然,路由时首选需要考虑渠道可以支持的支付产品。
  • 费率:费率是路由最重要的一个指标。一般银行是按照额度来收费,部分是按照交易笔数来收费,复杂点的是阶梯收费,比如 10 万一个费率档次,100 万一个费率档次。
  • 优惠活动:银行、第三方支付为了延揽客户,经常也会提供一些补贴给对接的商户,对于使用该渠道的交易进行补贴。而优惠的策略也是多种多样。
  • 交易限额:不同通道会限制每次交易的金额上限,以及针对每个账户每天的额度限制。超过这个额度,需要变换通道。
  • 卡类型:通道支持的信用卡或者借记卡。
  • 通道的 QOS:掉单率、网络延迟以及接口能支持的 TPS,是路由的一个重要衡量因素。
  • 资金头寸:电商公司在银行或者第三方平台的资金头寸。如果资金头寸不足,则不能使用这个通道来执行。
  • 到账时效:对于转账,资金什么时候到目标账户上,也是影响路由选择的一个因素。
  • 商户类型:不同类型的商户可以选择不同的通道。比如高性能、费率高的通道,预留给高级商户。

4 模块设计

  支付路由从架构上来说,一般是作为支付网关的一部分。采用微服务架构时,路由模块作为一个独立的服务来部署,为支付网关所调用。所涉及的模块如下所示:

  • 支付通道管理:提供通道支持的产品类型、费率等信息。
  • 支付通道 QOS 监控:收集通道使用过程中的错误信息,接口延迟,超时情况等信息,用于统计 QOS。
  • 资金头寸管理:用于监控公司在各个支付通道上的头寸,并提供头寸的信息。
  • 优惠活动:银行、第三方支付为了延揽客户,经常也会提供一些补贴给对接的商户,对于使用该渠道的交易进行补贴。而优惠的策略也是多种多样: 
    • 支付策略:针对使用该通道的所有支付进行补贴;仅针对首次使用该通道的用户进行补贴;仅针对绑卡的用户进行补贴。
    • 补贴时,按照支付金额来设置优惠额度,或者按比例打折。
    • 一般活动都会设置补贴总额度。该额度用完了就停止补贴。当然,活动也都会设置开始和截止时间。

5 路由计算

5.1 人工路由

  大部分支付系统在接入渠道不多时,人工路由也是一个不错的选择。运营人员指定支付渠道和产品之间的映射关系。出问题时人工切换即可。这种路由的优势是性能高,路由结果可控,出问题时易于排查问题。当接入通道数量增加,营销活动频繁时,人工路由会是一个巨大的投入。

5.2 基于规则的路由

这是相对比较简单的自动路由设计。按照业务要求设置各种路由规则,比如:

if(支付方式==招商借记卡 && 额度<100) then 目标通道==银联token支付
if(支付方式==招商借记卡 && 额度>100) then 目标通道==招商快捷支付

技术上,规则可以使用 drools 来描述。

5.3 基于权重的路由

  规则路由的难点各种规则的制定。在路由因子增多的情况下,规则的维护会是一个噩梦。基于权重的路由则可以缓解这个问题。这种计算方式,简单说,就是对各个通道打分,分数最高的就命中。难点在于制定打分的标准以及计算公式。比如可以从费率、优惠额度、QOS 和使用率角度来评分,给优惠额度高一点的比重,这会导致高优惠额度的通道被优先命中。注意每个维度上的计算公式也不是一成不变的,比如使用率和 QOS 都是动态打分计算。权重的调整是一个挑战,需要在运行过程中不断的调试。必要时,可以使用旁路测试来比较两种算法的优劣。

  路由是支付的核心模块,稳定性是第一要素,其次是性能,最后才是怎么省钱。路由系统的设计,需要和公司业务发展保持一致,并适度超前。简单的if else实现可以满足大多数场景下的需求,应该尽量避免在系统建设初期引入过于复杂的路由。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
天网设计方案 按照永年县监控设备项目传输线路租赁技术要求,本次工程,新建前端监控点资源采 用广电EPON网络和万兆交换网接入县局平台及存储。根据资源统计情况,前端摄像机经 ONU通过光纤汇聚至中心机房的OLT,OLT设备提供1个或者多个10G接口接入万兆交换网, 对不同属性的前端资源分别接入对应的存储设备和平台。前端监控点至县局接入网所用 ONU、OLT和万兆交换网设备均为新建,专网专用 1 广电网络公司光缆链路设计方案详述 根据监控前端分布、带宽需求情况、已有物理资源条件,确定采用的PON网络结构, 兼顾目前要求和业主后期扩容需求。结合未来网络演进、技术发展、改造投资、运营成 本,综合制定总体方案,保证网络可持续发展。 此次天网工程接入网采用GPON技术组网,以广电中心机房为汇聚点,前端摄像机经O NU通过光纤链接汇聚至中心OLT设备,OLT设备提供1个或多个10G接口接入广电万兆交换 网,对不同属性的前端资源分别接入对应存储设备和平台;广电中心机房OLT设备到县公 安局之间采用万兆(10GE)裸光纤,通过交换设备进行互联;所有设备和线路做到专网 专用。 机房内OLT设备每个PON口下采用分光模式建设,到每个监控点出4芯光缆,使用1芯, 备用3芯。单个PON口提供1000M带宽,可扩展到10G,每个点位到OLT传输带宽可达到100 0M带宽,ONU采用4端口设备,单端口可提供100M带宽,可以保证多路1080P摄像机或720 P摄像机接入; 视频监控EPON组网图 1、PON网络光缆线路方案 针对本项目此次招标PON线路部分,以机房为核心,按星形结构进行辐射,在主要道 口加野外光缆交接箱,光缆交接箱以下按链型结构进行光缆敷设,在经过的监控点处采 用加光缆接头包的方式进行光缆引出。 线路设计示范 2、PON网络分光器的设置 分光级数越少越有利于后期维护,有利于减少线路衰耗,因此本方案拟采用二级分 光方式,总分光比设置为1:64,最多下挂64个ONU。一级分光器1:8放置在机房,二级分 路器1:8放置在室外光缆交接箱或光缆接头包位置,根据道路监控前端位置灵活部署,选 择合适位置(如井内壁挂箱、终端设备箱内)安放,保证每个借杆位和新建杆位独立光 纤直连。 一级光缆交接箱到二级光缆交接箱出12芯光缆,末级分路器到每个监控点出4芯光缆 ,使用1芯,备用3芯,留足备份光缆和纤芯。 PON网络分光器设置 3、PON网络ONU末端设计 按照招标文件要求永年县广电提供光纤租赁服务到监控点杆位的指定位置,同时按照 业主要求做好光纤、ONU设备和业主已经安装到位的立杆设备箱的集成安置工作(设备箱 为业主自备)。永年县广电负责光缆的熔接以及ONU设备的安装调试工作。ONU采用华为 HG8340M。提供4个10/100M FE接口,单个ONU可以覆盖每个立杆上的多个监控点。永年县广电的光缆通过地埋管线或 架空杆路敷设到天网工程监控点立杆附近,再通过立杆地下的预留管敷设进立杆上的设 备箱内。ONU设备安装在立杆的设备箱内,ONU上行光口与光纤尾缆进行连接,监控点摄 像头通过网线与ONU进行连接。如立杆上存在多个摄像头,可以与ONU设备上提供的4个1 0/100M接口进行连接,将多个信号送回天网监控中心。 PON网络末端ONU设计 PON网络带宽设计 根据招标方要求监控点到专网独立带宽 10M,所以要合理设置单个PON口下所带监控 点数。 采用GPON技术,单PON口能够提供2.48G的下行带宽和1.24G的上行带宽,实际吞吐量 可达1G。总分光比采用1:64方式,单PON口下少于64个ONU,根据带宽测算单个ONU设备独 享带宽30M以上,可为每个监控点提供30M以上带宽。同时该设备支持QOS机制,可在ONU 上设置端口的保证带宽100M,使单个ONU设备达到400M的带宽,可充分满足天网工程的需 要。单PON口下也可以根据实际带宽需求,减少单PON口下ONU数量,提高每个ONU的可用 带宽,最高可达1000M带宽。烽火OLT设备通过更换10G PON板,在不改变光缆以及分光结构的前提下,单PON口吞吐量可达10G带宽,ONU带宽可 达1000M,完全满足今后天网的大数据、大视频的应用要求。 此次GPON局端设备采用华为MA5680T OLT设备,单设备能够提供128个PON口,同时可以提供4个10GE上联接口。单台设备可满 足4000个监控点的接入,完全满足今后天网的补点、增点要求。 5、PON网络VLAN和IP规划 为了实现精细化管理,缩小广播域范围,控制网络流量、简化网络管理、提高网络 安全性,提高网络效率,分局下的监控点,小于60个监控点划在一个VLAN里。 VLAN要做预留,保证后续扩容。 IP规划按照业主规划进行。 2)资源分配 "单位名称
设计模式是一些被广泛接受并经过验证的解决方案,用于解决软件设计中常见的问题。下面我会详细介绍几种常见的设计模式及其应用案例: 1. 单例模式 (Singleton Pattern): 单例模式用于确保一个类只有一个实例,并提供全局访问点。例如,数据库连接池就可以使用单例模式实现,确保整个应用程序只有一个数据库连接池实例。 2. 工厂模式 (Factory Pattern): 工厂模式用于创建对象,而不需要暴露对象的创建逻辑。例如,一个汽车制造工厂可以根据客户需求生产不同类型的汽车。 3. 观察者模式 (Observer Pattern): 观察者模式用于在对象之间建立一对多的依赖关系,当一个对象状态发生改变时,其依赖的对象会自动收到通知并更新。例如,一个新闻发布系统中,订阅者可以接收到新闻发布者发布的新闻通知。 4. 策略模式 (Strategy Pattern): 策略模式定义了一系列算法,并将每个算法封装起来,使它们可以互相替换。这样可以使算法独立于使用它的客户端而变化。例如,一个电商网站可以根据用户的购买历史和偏好,采用不同的促销策略来推送优惠活动。 5. 装饰器模式 (Decorator Pattern): 装饰器模式允许你通过将对象包装在装饰器类中来动态地添加新的行为。例如,一个咖啡店可以使用装饰器模式来添加额外的配料(如牛奶、糖等)到咖啡中。 6. 适配器模式 (Adapter Pattern): 适配器模式用于将一个类的接口转换成客户端所期望的另一个接口。例如,一个音频播放器可以使用适配器模式来兼容不同类型的音频格式。 以上只是几种常见的设计模式,每种设计模式都有其特定的应用场景和优势。在实际开发中,根据具体需求选择合适的设计模式可以提高代码的可维护性、可扩展性和重用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值