分布式金融架构课
任杰
eBay 支付账务系统负责人,前蚂蚁金服架构师
2444 人已学习
立即订阅
登录后,你可以任选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
登录|注册
开通超级会员可免费学习本课程,还可解锁海量内容免费学特权。

09 | 数据传输的质量:金融业务对数据传输有什么要求?

你好,我是任杰。这节课我想和你聊一聊怎么做好金融数据的传输。
我们在开篇词提到过,如果你对系统的要求高,通常都会说要按照金融级的标准来设计。所以当我们提到金融数据传输的时候,你可能也会觉得数据传输应该也是要求非常高的,既要速度快,又要流量大,而且还有极强的容灾能力。
没错,在金融行业很多地方会有这样的要求,但是也有一些地方要求并不高。所以这节课我会带你分析一下金融业务在不同场景下对数据传输的要求是什么,以及解决方案都有哪些。

案例分析

按照惯例,我们还是从一个具体的例子开始。和我们之前讲扫码支付一样,这里的例子既要典型,又要简单。所以思考再三,我选择了简化版的券商算法交易平台对接交易所的例子,原因有这些:
1. 涉及场景多。既有事务数据,也有市场数据。
2. 模型简单。只涉及到 2 个主体。
3. 复杂度可选。连接交易所的要求可以很高,也可以很低,具体取决于你愿意出多少钱,有多久的研发时间。
那我们来看看简化的模型是怎样的。
在券商对接交易所的例子里,一共包括两个主体:券商和交易所。券商的任务是将券商提供的市场交易信息发送到自己的算法交易平台,平台分析这些信息之后发送买卖订单给交易所。交易所负责处理收到的订单,在处理完之后将交易信息传递给券商。整个过程都是用软件实现,而不是用硬件。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
02 | 原理解读:如何理解第三方支付的业务逻辑和系统组件?
13 | 正确性分级(中):多机无容灾有哪几种不同的一致性实现?
15 | 分布式正确性的存在性(上):什么情况下不存在分布式共识算法?
17 | 正确性案例(上):如何实现分布式的事件溯源架构?
18 | 正确性案例(中):常见分布式数据方案的设计原理是什么?
21 | 容灾(下):如何通过混沌工程提高系统稳定性?
开通超级会员免费畅看本课程
开通会员
该文章仅可免费阅读部分内容,如需阅读完整文章,请开通超级会员或单独购买本课程。
登录 后留言

精选留言(4)

  • tt
    平衡速度不同的节点,就像CPU和主内存之间的差异,往往都是引入一个中间层比如一级缓存、二级缓存来解决,这些缓存对外是透明的。

    这么来看,实时数据推送的层级结构与CPU缓存、内存的层级结构非常类似:

    越往上的层级,成本越高数量越少;
    越往下的层级,成本越低数量越多。

    缓存利用了数据在空间上的局部性: 一个数据周围的数据也很快会被访问。

    只是问题中说的速度的差异还会带来数据量的积压,所以还需要有“削峰填谷”的能力,这个正好是消息系统最主要的职责之一。

    但是,等一下,客户来不及处理的数据真的需要放入数据的“水库”中等待用户后续处理么?这可是实时数据,也许等到客户可以处理的时候,数据的价值已经消失了,所以此时的数据已经不值得用户再去花那么多钱了。

    所以,用户在和交易所买席位费的时候先评估自己的需求:要么花费和交易所等量的钱去对接,要不就降低自己的层级。

    对交易所来说,提供的就是实时数据,第一是不能被下游系统阻塞;第二是不必缓存没有被消费的数据,因为缓存完再提供,那提供的就不是实时数据服务了。

    推导来推导去,得出的结论不过是:实时数据就是传输过程中发生丢失就不需要找回的数据。
    2021-01-11
    1
    8
  • 柳钢
    实时用户能否对于需要的数据进行筛选?需要的数据才处理,不需要的数据直接丢失?
    2021-10-10
  • luke
    FIX的缺点不就是数据冗余度太高,编解码效率太低么

    作者回复: luke同学你好。FIX刚好解决的是这些问题。

    2021-02-24
  • webmin
    按时间窗合并明细数据,对于不同能力的用户给不同窗口大小的数据,比如:统计10,20,50毫秒窗口。
    2021-01-19
收起评论
4
返回
顶部