1:支付网关的技术栈使用(vertx,hazelcast,mysql)
2:网关中设计的角色有 getway,flow.event,channel.paramPool
3:介绍下,以上的角色
3.1:getway,他是计费系统的入口,包含(发起支付,退款,变更产品,计费策略,等能力。)
3.2:flow 他是整个计费系统中流程节点的控制中心,管理整个计费相关的生命周期 ,产品接入计费(订单的创建,对第三方的支付发起,订单状态的扭转,触发调用该流程中需要构建的产品。管理,整个产品的,创建,初始化,销毁)。
当然该流程中可以单独接入,类似购买商品的流程,比如管控(订单的创建,支付的发起,支付结果的获取,库存的扣减,物流状态的获取。)
flow的设计,只需要通过json构造流程节点树,根据规则,走不通的树节点。
3.3:event event是具体做事情的组件(订单的创建,支付发起等,具体的事情都是由event实现,由flow来驱动,然后flow根据event执行的状态来管理flow实例)‘
3.4:channel 因为我们支付中,会有很多渠道与账户(在业务量大的情况下,我们需要对账户进行风控,每次的支付,能都选择到最优的通道进行指导。)负责的能力有,收集支付相关指标,最优通道选择算法。
3.5:parmPool 负责event中的task值传递。
4:架构图
5:解释下,为什么,这样来设计,计费系统中的角色。
5.1:这样更好的明确在计费系统中,有的角色是那些,每个角色都做那些事情,整个系统由谁在管控。(getway负责对外提供支付网关的能力,flow管理提供能力的生命周期,event具体执行流程节点,channel负责通道的管理)
5.2:角色和责任明确后,就能很好的扩展,每个角色承担的应用能力,更好的让应用容错能力,扩展能力,健壮性,得到加强。
5.3:计费系统中,深深的感受到,单线程编程带来的优势与好处。无锁,无阻塞。文章来源地址https://www.toymoban.com/news/detail-423306.html
文章来源:https://www.toymoban.com/news/detail-423306.html
到了这里,关于支付网关-vertx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!