分布式金融架构课
任杰
eBay 支付账务系统负责人,前蚂蚁金服架构师
2445 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
02 | 原理解读:如何理解第三方支付的业务逻辑和系统组件?
13 | 正确性分级(中):多机无容灾有哪几种不同的一致性实现?
15 | 分布式正确性的存在性(上):什么情况下不存在分布式共识算法?
课程目录
已完结/共 30 讲
开篇词 (1讲)
开篇词 | 如何成为金融级人才?
金融业务与系统 (6讲)
01 | 业务初探:扫了二维码之后发生了什么?
02 | 原理解读:如何理解第三方支付的业务逻辑和系统组件?
03 | 产品大观:不同金融业务都有哪些技术实现要点?
04 | 领域驱动设计(上):如何设计金融软件顶层架构?
05 | 领域驱动设计(下):如何设计统一的金融业务模型?
答疑集锦(一) | 思考题解析与外汇架构知识拓展
系统正确性保障 (7讲)
06 | 计算输入的正确性:怎么选择正确时间的数据?
07 | 计算过程的正确性:如何设计正确的数据处理架构?
08 | 计算结果的正确性:怎么保证计算结果是正确的?
09 | 数据传输的质量:金融业务对数据传输有什么要求?
10 | 数据存储的合理性:金融业务可以不用关系型数据库吗?
11 | 系统优化:如何让金融系统运行得更快?
答疑集锦(二) | 思考题解析与账务系统优化
分布式正确性及高可用 (11讲)
12 | 正确性分级(上):单机无备份有哪几种不同的一致性?
13 | 正确性分级(中):多机无容灾有哪几种不同的一致性实现?
14 | 正确性分级(下):多机有容灾有哪几种不同的一致性?
15 | 分布式正确性的存在性(上):什么情况下不存在分布式共识算法?
16 | 分布式一致性(下):怎么理解最简单的分布式一致性算法?
17 | 正确性案例(上):如何实现分布式的事件溯源架构?
18 | 正确性案例(中):常见分布式数据方案的设计原理是什么?
19 | 正确性案例(下):如何在运行时进行数据系统的动态分库?
20 | 容灾(上)如何实现正确的跨机房实时容灾?
21 | 容灾(下):如何通过混沌工程提高系统稳定性?
答疑集锦(三) | 思考题解析与数据库底层实现
春节策划 (3讲)
春节策划第1期 | 分布式金融系统知识,你掌握了多少?
春节策划第2期 | 读书如抽丝,为你推荐一些我读过的好书
春节策划第3期 | 如何运用架构知识解读春运买票和手游案例?
结束语 (2讲)
结束语 | 金融之道,与你同行,虽远尤欣
结课测试|这些金融架构的问题,你都掌握了么?
分布式金融架构课
15
15
1.0x
00:00/00:00
登录|注册
开通超级会员可免费学习本课程,还可解锁海量内容免费学特权。

01 | 业务初探:扫了二维码之后发生了什么?

你好,我是任杰。今天我们进入第一个模块:金融业务及系统。
通过这个模块,我会带你了解常见的金融业务有哪些,盈利模式又是怎样的。了解了业务端的规律,我们就可以沿着这个线索推导出相应的系统核心需求以及具体组件,推测出相对应的系统设计要点。有了这些铺垫,后面我们动手去设计金融架构的时候,你的思路就会更加清晰。
金融业务有很多种,按业务模式划分,包括交易类业务和信贷类业务两种。今天是课程的第一讲,我想带你了解一个标志性的交易类业务,也就是扫码支付。
虽然扫码支付非常普遍,但是它并不简单。把这个内容安排在第一讲,我有这样三点考量:
第一,是扫码支付最具有代表性,扫码支付是现在最常见的金融场景。
第二,传统银行业务的标志性机构大多都参与到了扫码支付的过程当中,你可以通过扫码支付来了解国家金融系统的运作原理。
第三,是扫码业务同时具有互联网应用和机构应用的技术特点。扫码支付既要对接互联网用户,也要对接金融机构。你可以了解不同的架构设计思想和他们之间沟通的方式。
总之,一旦你理解了扫码支付,也就在金融技术这个领域入了门。现在就让我们从第三方支付出发,一起来探索扫了二维码之后发生了什么吧。

情景假设

扫码支付其实也分很多场景。但我们是不可能把所有的场景都讲一遍,我们在这里需要做更进一步的选择。一方面要典型,另一方面又要能给你多介绍一些参与机构。综合考虑后,我选择了与跨境电商相关的扫码跨境支付场景,具体的假设有这些:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
02 | 原理解读:如何理解第三方支付的业务逻辑和系统组件?
13 | 正确性分级(中):多机无容灾有哪几种不同的一致性实现?
15 | 分布式正确性的存在性(上):什么情况下不存在分布式共识算法?
17 | 正确性案例(上):如何实现分布式的事件溯源架构?
18 | 正确性案例(中):常见分布式数据方案的设计原理是什么?
21 | 容灾(下):如何通过混沌工程提高系统稳定性?
开通超级会员免费畅看本课程
开通会员
该文章仅可免费阅读部分内容,如需阅读完整文章,请开通超级会员或单独购买本课程。
登录 后留言

精选留言(24)

  • Jerry Wu
    虽然整个过程经过简化,但我还是有些懵。好在回答完思考题,思路清晰了些,请老师指教。

    作为第三方支付公司,该怎么降低汇兑成本?

    首先,第三方支付公司的业务仅限于一个国家,那只能在现有的交易流程优化。

    比如,你的支付服务只在中国能用,中国客户转账到国外,却没有国外客户转帐进来。那么,你只能老老实实走外汇交易的流程,但也是能降低汇兑成本的。

    你可以低价买一大笔外汇,降低汇率、时间、交易等风险;又或者找投资银行,让他们用掉期合约规避你的汇率、交易、库存等风险;再或者,转账机制能不能优化,像是最低金额、到账时间之类的。

    然后,第三方支付公司有多国业务,那自建资金池能进一步降低成本。

    比如,你的支付服务中美两开花,中国客户转账到美国,美国客户转账到中国。那么,你可以建两个资金池,一个装人民币,一个装美元。如果发生转账,你划上两笔,一笔划在中国资金池上,一笔划在美国资金池上。

    如果走到这一步,原有的交易流程就被简化了,你可以看看这个例子。

    假设汇率是 7,有 A 客户转 700 人民币到美国,那么你只需要在 A 客户的账上减去 700 人民币,你的人民币-资金池增加 700,美元-资金池减少 100。与此同时,有个 B 客户要转 100 美元到中国,那么 B 客户的账上减去 100 美元,你的美元-资金池增加 100,人民币资金池减少 700。

    在这个例子中,你把这两笔交易结合起来看,会发现一个有趣的现象。人民币-资金池先增加 700,然后又减少 700;美元-资金池先减少 100,然后又增加 100。换句话说,你两个资金池里的钱不增不减。

    这样一来,你相当于踢开了外汇市场,自己就能走完中美转账的流程。当然,资金池的花样很多,现实也没这么理想,你还是离不开外汇市场,但也够你省下一大笔,给员工买辣条了。

    综上所述,如果第三方支付公司的业务仅限于一国,要降低汇兑成本,可以买一大笔外汇,找投资银行,优化用户转账机制;如果第三方支付公司的业务遍布多国,要进一步降低汇兑成本,可以自建资金池。
    2020-12-27
    3
    16
  • 飞翔的企鹅
    我想知道银行的备付金不够会怎样?

    作者回复: 飞翔的企鹅你好。备付金的管理一般属于司库(Treasury)或者财务(Finance)部门来管理。

    如果第三方金融机构不允许挪用备付金,那么资金永远是足够的。

    如果允许第三方金融机构部分或者全部挪用备付金,那么有可能出现不足的情况。这时候监管机构会要求金融机构预留一定百分比的备付金作为缓冲,因此会留给金融机构几天的预警时间。

    如果万一真的资金不够了,机构之间对接的时候会出现机构账户余额不足的错误。这时候会导致大面积用户支付业务失败。由于备付金里的钱的所有者是用户,这笔钱对于金融公司来说是一笔债务。无法还债会导致金融公司破产,所以后果不堪设想。

    备付金的管理属于金融行业的流动性风险管理(liquidity risk management)。它需要对过去的资金行为进行统计分析和预测,是一门以统计和经验为主的学科,也是人工智能可能会发挥巨大作用的一个场所。

    2020-12-25
    9
  • Geek_74107b
    您好任老师,第一章就非常烧脑,但是让我更好的理解了比特币xrp之类的虚拟币跨国转账的价值,因为流程要简化太多了,交易即清算!
    另外在这个场景里,我理解第三方支付可以看成一个银行间的中介,清算机构属于银行间的会计负责记账,央行作为一个完全中心化的背书机构,负责银行间的最终转账清算。
    那我的疑问是,清算机构存在意义是什么呢? 为什么不能让央行去兼容它的记账职责呢? 是因为它是央行的“缓存”,为了减轻央行的压力?

    作者回复: 这位同学你好。比特币这些加密货币的出现改变了大家对信用体系的看法。在传统的金融体系下,机构的信用体系依靠的是国家背书,因此采用的是集中决策机制。如果一个交易涉及到多个决策主体,那么就需要这些主体之间互相沟通,或者通过清算主体来代为沟通。这就是为什么流程比较长的原因。加密货币由于采用了分散决策,所有主体都参与到了决策过程,所以就不需要清算的过程。但是加密货币是以牺牲交易速度为代价的,在监管和合规方面也有很多需要加强的地方,需要合理的看待。加密货币带来了一些货币数字化的思考,我们国家也在试点数字人民币,你有兴趣可以关注这方面的进展。

    清算机构的出现有历史原因。比如银联是本世纪初为了解决银行卡的通用问题出现的。前面已经提到过,清算机构是所有集中决策的机构都认可的信用最高的第三方。所以重要的是它的权力和权力的来源,而不是它的形式。

    2020-12-27
    6
  • Monday
    小小的二维码支付,金融业务还真多。牵涉多个银行用户账户,多家银行。本节学到了不少的金融名词。

    编辑回复: 谢谢你的肯定,加油,咱们一起学习进步!

    2020-12-28
    2
    5
  • 小动物
    尽可能自建资金池,不在用户交易时进行兑换,直接使用池子中的资金。同时资金池在满足业务的情况下尽可能的最大化,,,类似股票里的高抛低吸。
    2020-12-21
    5
  • 三产
    老师,一般网上支付都会有每日限额,并且不同银行限额不同,这个是不是和存款准备金有关呢?
    转账有手续费,是否也是因为转账会涉及清算机构,清算机构会收取一部分费用,而转账业务并不会为发起转账机构产生利益所以这部分费用需要用户自行支付呢?

    作者回复: 三产同学你好。个人支付业务的资金量只占银行日常资金量很小的一部分,大部分的资金往来是企业的对公业务,因此银行的准备金受个人支付业务影响不大。之所以有每日限额的原因更多是为了保护个人消费者。

    转账一定有手续费,因为转账不是免费的公益服务,而是商业行为。手续费可能由用户支付,或者由支付公司支付,这取决于支付公司自己的盈利模式和发展战略。

    2021-01-27
    2
  • 楼下小黑哥
    因为限定了交易费用跟交易数量有关,所以为了减少费用就需要减少汇兑次数。
    第一,发生汇兑的时候 ,仅记录信息流,日终的时候计算需要汇总总金额,再去真正汇兑。
    第二,既然存在两个方向的互相汇兑,那么两边账户都有相应的资金。
    那如果里面资金足够代付,那其实无需汇兑。举个例子
    假设当前人民币账户余额100w,美元账户100w。而当天如果仅需要美元账户代付50w,那么这个时候都无需购汇,直接使用账户内余额即可
    2020-12-25
    1
  • aderm
    第三方支付公司可以无限建立外汇资金池,只有当发生外汇资金池钱不够时,才和外汇提供商进行一次大额交易。同时存在双向外汇交易,也就能保证外汇资金池波动变小
    2020-12-22
    1
  • garlic
    参考日间交易,日终轧差模式, 轧差后再进行外汇交易。
    2020-12-22
    1
  • 云师兄
    清算机构作为第三方负责记录这些信息,并通知买家开户行和第三方开户行记录这笔转账。
    这个操作非原子性,中间需要分布式事务处理机制吗
    2021-12-06
  • bearlu
    老师。会不会存在第三方机构。存在多个银行账户,交易的时候就不需要跨行转账?
    2021-09-10
  • liupan
    目前在银行做金融,和转账也经常有关联,但更多的是关注银行内部的处理逻辑。感觉目前接触的扫码和刚刚读到的有一定差异,扫码很少外币场景,主要是做银行自身内部逻辑,因此流程上有所差异,银行与银行之间还有通道没有体现
    2021-08-16
  • 羿达
    老师,这个情景中商户接受美元,买家如何确定该支付多少人民币啊?汇率转换的过程在哪一步完成?实在二维码生成之前就已经完成了吗
    2021-07-04
  • 学习使人快乐
    有没有课代表做个笔记分享出来
    2021-06-24
  • 学习使人快乐
    老师图用什么软件画的
    2021-06-24
  • wulab
    降低汇兑成本的想法不知是否可行
      1. 敞口管理风险管控
      2. 传统的建模往往需要专业的算法人员进行业务理解,可以基于预测智能化的形式来做交易量预测、资金流动性管控,降低外汇购汇成本
    2021-02-23
  • Ellie
    首先在本币和外币账户上储备足够的资金,进行本、外币内部流动,并在两个账户设定触发汇兑的阈值,当外币账户余额低于阈值时购买一定数额外币,当本币账户余额低于阈值时卖出一定数额外币,可以监控外汇买卖交易频率,优化本、外币账户的汇兑阈值。
    2021-01-12
  • _你说了不算
    每天都在用扫码支付,原来每笔交易后藏着这么东西,这篇文章需要反复读一下啊。
    2021-01-06
  • Geek_fd2f7c
    汇兑提供行自己轧差成一笔然后进行
    2021-01-06
  • Better me
    老师您好,以下几个问题还不太清楚,希望老师解惑
    1、一笔跨境交易中在本币代收的央行准备金调拨之前就发起了外汇交易会有什么影响吗?
    按道理来说是会先用上第三方公司在汇兑提供行的人民币账户余额,但这里人民币账户的资金来源是买家账户。
    2、央行准备金轧差的交易方式、外汇交易的时间成本对整个交易流程周期会有什么影响吗

    作者回复: 这位同学你好。提前做外币的代付除了需要支付公司垫资外,没有什么影响,其实一些跨境支付公司为了提高体验还会提前做外币代付。

    这节课为了方便理解,假设所有步骤都是按顺序一一执行。时间上有一些可以并行或者提前处理的步骤,主要还是看业务方有多少资金量,想要提高多少体验和能承担多少风险。

    2021-01-04
收起评论
24
返回
顶部