28张图讲解支付系统的通用设计,漂亮!

这篇具有很好参考价值的文章主要介绍了28张图讲解支付系统的通用设计,漂亮!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是交易核心+支付核心 两个大系统。交易系统关联了业务场景和底层支付,而支付系统完成了调用支付工具到对账清算等一系列相关操作。下面我们就来一起看下各个系统的核心组成和交互。

1. 支付系统总览

核心系统交互

支付系统详解,Java,大数据,运维,分布式

业务图谱

支付系统详解,Java,大数据,运维,分布式

2. 核心系统解析

交易核心

交易核心把公司的业务系统和底层支付关联起来,让业务系统专注于业务,不比关心底层支付。

交易核心

支付系统详解,Java,大数据,运维,分布式

基础交易类型抽象

支付系统详解,Java,大数据,运维,分布式

多表聚合 & 订单关联

支付系统详解,Java,大数据,运维,分布式

支付核心

支付核心主要负责将多种支付类型进行抽象,变成 充值提现退款转账四种支付形态。同时,还要负责集成多种支付工具,对支付指令进行编排等等。

支付核心总览

支付系统详解,Java,大数据,运维,分布式

支付行为编排

其目的,是实现 插件式开发支付规则可配置的 灵活开发方式。

支付系统详解,Java,大数据,运维,分布式

异常处理

异常处理包括了 重复支付、部分支付、金额不一致、其他异常等异常场景。

支付系统详解,Java,大数据,运维,分布式

渠道网关

支付系统详解,Java,大数据,运维,分布式

资金核算

支付系统详解,Java,大数据,运维,分布式

3. 服务治理

平台统一上下文

通过确定系统边界、业务建模拆分之后,整个支付平台被拆分几十个服务,而如何保障在服务间流转业务信息不被丢失,是我们需要考虑的问题。平台统一上下文的要素信息(唯一业务标识码),在整个支付平台链路中全程传递,被用来解决这个问题。

支付系统详解,Java,大数据,运维,分布式

数据一致性治理

大型的支付公司,内部都有非常严格和完备的数据一致性方案,比如采用业务侵入性非常大的分布式事务等,以牺牲开发效率来提升数据的稳定,是非常有必要的。而业务公司,如果不采用分布式事务又有哪些应对策略呢?

CAS校验

支付系统详解,Java,大数据,运维,分布式

幂等 & 异常补偿

支付系统详解,Java,大数据,运维,分布式

对账

支付系统详解,Java,大数据,运维,分布式

准实时对账

支付系统详解,Java,大数据,运维,分布式

DB拆分

支付系统详解,Java,大数据,运维,分布式

异步化

支付是整个交易链路的核心环节,那么,怎么兼顾支付系统的稳定性和执行效率呢?是异步化。

消息异步化

支付系统详解,Java,大数据,运维,分布式

外部支付调用异步化

支付系统详解,Java,大数据,运维,分布式

在外部支付中,经常需要服务方与第三方支付交互,获取预支付凭证,如上图所示。

这种同步调用的情况下,由于需要跨外部网络,响应的 RT 会非常长,可能会出现跨秒的情况。由于是同步调用,会阻塞整个支付链路。一旦 RT 很长且 QPS 比较大的情况下,服务会整体 hold 住,甚至会出现拒绝服务的情况。

支付系统详解,Java,大数据,运维,分布式

因此,可以拆分获取凭证的操作,通过独立网关渠道前置服务,将获取的方式异步化,从前置网关获取内部凭证,然后由前置网关去异步调用第三方。

异步并行化

支付系统详解,Java,大数据,运维,分布式

资金核算异步化

支付系统详解,Java,大数据,运维,分布式

热点账户账务单独处理

支付系统详解,Java,大数据,运维,分布式

记账事务切分

支付系统详解,Java,大数据,运维,分布式

4. 生产实践

性能压测

构建压测模型,模拟现实真实场景;压测数据进影子库,正常业务无侵入;单机性能和集权链路都不能忽视;识别系统稳定性和容量配比。。。

支付系统详解,Java,大数据,运维,分布式

稳定性治理

支付系统详解,Java,大数据,运维,分布式

核心链路分离

支付系统详解,Java,大数据,运维,分布式

服务依赖降级

支付系统详解,Java,大数据,运维,分布式文章来源地址https://www.toymoban.com/news/detail-645904.html

到了这里,关于28张图讲解支付系统的通用设计,漂亮!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 系统架构设计师笔记第28期:信息物理系统技术概述

    信息物理系统(Cyber-Physical Systems)是指将信息处理与物理过程相结合的系统。它是计算机科学、控制论、通信技术和物理学等多个领域的交叉学科,旨在通过将信息处理和计算能力与物理系统的感知、控制和执行能力相结合,实现更智能、自适应和高效的系统。 信息物理系

    2024年02月12日
    浏览(41)
  • 支付系统设计

    支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢? 抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。 其实整体可以看成是交易核心+支付核心 两个大系

    2024年02月08日
    浏览(33)
  • 微信小程序毕业设计作品成品(28)微信小程序物业维修报修系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(59)
  • 复杂业务系统的通用架构设计法则

    我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了两点: 由点组成 点之间有各种关联 两点的规模和复杂性直接决定了系统的复杂程度。比如

    2024年02月08日
    浏览(52)
  • 基于Java(SpringBoot框架)毕业设计作品成品(28)AI毕业设计人脸识别考勤签到系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(68)
  • 【架构实践】复杂业务系统的通用架构设计法则

    目录 一、什么是复杂系统 二、什么是架构 三、架构的本质 四、架构分类

    2024年02月08日
    浏览(45)
  • 基于SPI的FPGA-MCU通用通信界面设计与技术详解

    FPGA与MCU之间的通信想必是很多异构人极为头疼的难题。如果每次写一个工程都要大费周章重写通信逻辑、通信协议之类的东西,不仅耗费心神,而且浪费时间。本文基于安陆PH1A90SBG484,提出一个已经通过门级仿真验证的通用通信界面解决方案。详细代码见以下链接: Github代

    2024年02月04日
    浏览(43)
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记28_控制层上

    2.3.1.1. 专职运维人员的固定成本 2.3.1.2. 部署加速、事故恢复和服务整备等可变成本 6.8.2.1. 软件越难以运维,人们在运维上所花费的时间就越多 6.8.3.1. 有些语言能让程序员快速编程,但需要更多实例处理特定的工作负载(这样就增加了成本) 6.9.8.1. 大多数度量指标数据库

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包