东方证券交易系统(东方证券股份有限公司系统运行总部总经理 王海东基于分布式架构打造证券交易新核心)

「东方证券股份有限公司系统运行总部总经理 王海东」基于分布式架构打造证券交易新核心

东方证券股份有限公司系统运行总部总经理 王海东

证券交易系统是证券行业最重要的业务系统,集中体现了一家证券公司的综合技术实力。近几年,随着个股期权、港股通、CDR、科创板等业务的不断推出,以及市场客户和交易业务量的不断攀升,对证券交易系统的业务支持速度、并发及吞吐量、处理时延、安全性、稳定性、可扩展性、敏捷性等等均提出了更高的要求。因此,打造兼具稳态、敏态的证券交易新核心是保持证券公司核心竞争力的关键。

作为国内最早关注和践行分布式技术路线的大型综合券商,东方证券从2016年12月开始规划设计,2018年5月完成了兼具双态特性的证券交易新核心的构建,分布式交易系统正式投产上线。经过一年多时间的运行检验,系统运行稳定,与集中交易系统对比,分布式交易系统实际交易峰值并发量提高了5倍,上行全链路平均时延快100倍,高可用主备切换耗时缩小到百分之一,节点扩展部署速度提升20倍,业务开发周期缩短了一半,单节点总拥有成本不到十分之一,得到了客户和业务部门的高度认同,提高了东方证券在机构业务市场的知名度和竞争力,取得了令人满意的业务效果。

稳态和敏态

Gartner最早提出了稳态和敏态的理念。所谓“稳态”,强调要保持现有各业务系统的安全稳定运行,对证券行业而言,这是所有技术工作的重中之重。所谓“敏态”,强调敏捷、高效的进行各种业务创新,这对金融科技广泛应用的今天,尤其是随着移动互联网、人工智能、大数据、分布式等现代信息技术应用场景的不断落地,显得尤为重要。

交易系统能否中长期保持稳态,除后期运维人力资源保障外,更重要的取决于它所依赖的基础架构,东方证券基于分布式技术高可用特性构建的系统,攻克了双活高可用场景下零数据丢失的难题,采用双活设计,交易节点故障切换可以做到零数据丢失,并且能在10秒以内完成切换,大幅提升了交易系统的高可靠、高可用水平,保证了中长期的稳态。

交易系统要保持敏态,首先要解决系统间、功能间的耦合问题,其次要解决系统架构的水平可扩展性问题,最后要解决系统对单台服务器的依赖性问题。东方证券基于分布式技术低时延特性,将业务逻辑与高可用解耦,大幅简化了业务开发难度,降低了交易业务系统风险,能够快速响应业务创新,缩短业务实现周期。

稳态和敏态虽然目标不一样,但两者并不矛盾,而是相辅相成的关系。对证券行业而言,两者缺一都难以应对激烈的同业竞争,打造支持“稳态+敏态”双态运营的系统才是王道。

集中式架构的痛点

基于传统集中式架构的交易系统,越来越难以适应未来证券行业的发展,存在诸多痛点。

一是集中式架构的业务和组件高度耦合、难以分拆,扩展性差、牵一发而动全身。二是集中式架构存在较大延时,处理速度一般在毫秒级,难以满足快速交易的客户诉求;三是集中式架构相对封闭,对国外供应商的软硬件产品依赖性过强,自主选择余地小且成本高昂;四是集中式架构过于依赖内部代码逻辑,修改代价较高,且难以支持二次开发,不利于行业自主创新能力的提升。

综上,对于稳定性要求第一的证券行业,集中式交易系统的每次系统修改和升级都如履薄冰,使得系统同时丧失稳态和敏态。东方证券较早感知了集中式架构对未来业务发展的制约,较早开展了分布式技术转型,较好的融合了交易系统的稳态与敏态。

分布式架构的优势

分布式架构是下一代金融交易技术的趋势,这在证券行业已形成共识。分布式架构具有降成本、提速度、灵活及扩展性强、架构开放等特性,更适合中国证券市场牛短熊长的特点,也是实现证券公司核心业务系统自主掌控的最佳可行路径。在此,以“证券交易资金算法”的例子形象说明分布式架构的优势。

证券行业经过近30年的发展,尤其是2005后,各类业务层出不穷,进而衍生出各种交收模式。随着参与方的增多,进一步增加了交收的复杂度,使得保障投资者资金正确的资金计算方法越来越复杂,这个算法也正是经纪业务的核心业务算法之一。传统集中交易的资金算法逻辑主要是构建在资金表的资金字段上,一般会把同一种性质的资金用同一个字段表示,然后编写业务逻辑进行计算,交收的顺序和对手方的特性等都在业务逻辑中实现。每次业务修改都可能要修改相关的字段和业务逻辑,修改后可能影响所有使用该字段和逻辑的业务。为此我们从业务架构的角度上考虑改变,尝试把资金算法构建成一个即稳又敏的实现。

首先,我们把资金算法从业务逻辑中剥离出来,形成多个小核心。每个小核心实现一类资金性质的计算,比如竞价可用、港股可用、报价回购可用、银证可取等等;其次,每个小核心之间按规范进行对接,这样每类业务发生变化的时候也就只需要修改该业务的资金算法和业务逻辑,可以预见其修改的业务范围会相对小,修改也相对简单,而且在调用逻辑充分清晰的情况下比较容易分析修改的影响域并进行精准的验证。

上述案例的解决方案是典型的“小核心、大外延、分布式业务架构设计思路”,按照这种思路设计的业务架构,可以解决紧耦合带来的痛点,从而实现该业务场景对应系统功能的稳态和敏态共存。近观科创板业务的技术实现,相关的权限规则、盘后业务等逻辑,在分布式架构下都是相对独立的业务实现,完全不影响原有业务功能。而基于传统集中式架构则只能修改原有核心交易功能来实现业务,设计复杂度、业务风险、维护成本都随之上升。

「东方证券股份有限公司系统运行总部总经理 王海东」基于分布式架构打造证券交易新核心

「东方证券股份有限公司系统运行总部总经理 王海东」基于分布式架构打造证券交易新核心

用分布式技术支撑分布式业务

基于传统集中式架构的交易系统之所以无法实现上述案例提及的功能,与其历史发展有关。集中交易系统的业务与技术架构始于本世纪初,最初的业务及技术架构与业务发展是匹配的。但随着业务品种扩充、业务规模的飞速增长,各业务模块紧耦合的架构弊端逐渐显现。因此促使我们利用分布式技术来进行业务解耦的实现,并降低系统高可用维护成本。

业务解耦的实现主要依赖两方面问题的解决,一是业务解耦规范的制定,二是解耦后原子业务相互调用的性能提升。业务解耦规范制定的重点是能否根据业务内容整理出清晰易用可扩展的核心业务条线,能否把不同业务模块间的切面处理的干净漂亮。这在传统集中交易业务架构初期是比较难的,目前随着业务的成熟以及系统设计人员经验的积累行业内已经具备了将业务清晰解耦的条件。第二,对于原子业务相互调用的性能来说,由于传统集中式架构依赖于数据库实现业务的完整性,且当时业务逻辑梳理不够充分,导致一个业务调用往往会有多次同步的数据持久化动作,同时,原先网络性能也相对较弱、抖动较大,因此相互调用的性能大多在毫秒,甚至百毫秒级别,并行处理能力较差,不适用于对稳定性要求高的大压力场景。现在,基于高性能网络的低延迟方案已经可以让系统间的调用运行在微秒级,单节点并发处理能力达到每秒几十万笔,完全可以适配相关要求。

对于高可用的维护成本,传统集中式架构的交易系统依赖IBM小型机、物理数据库、高端存储等高可用技术,一套高可用系统的硬件成本动辄需要千万级。由于成本较高,因此往往把需要高可用的功能集中部署、集中运维。从而导致运行风险集中、业务创新实现缓慢的问题,这也正是传统集中式交易系统的重要痛点。值得庆幸的是,随着自主可控浪潮的推动,各类高可用技术发展迅猛,尤其是基于低延迟高可用的分布式技术,其硬件成本通常可控制在百万级。这让高可用系统的应用范围一下就可以扩展到很多方面,从而使需要高可用特性的系统可以分开部署实现业务解耦。

基于分布式架构打造证券交易新核心

有了以上提及的业务和技术架构的准备,也就有了证券交易新核心的基础。分布式技术打造的证券交易新核心相比传统集中交易系统具有明显的优势。

传统集中交易系统的现状包括但不限于四点,一是在一个相对高可用的物理数据库内存放了账户、权限、参数、费率、资产以及流水等数据;二是投资者交易指令通常比较复杂,大多会涉及到上述所有类型的数据;三是营运业务指令相对单纯,但一般也会涉及到上述两到三个类型的数据;四是清结算相关业务最复杂,通常会反复多次用到上述所有类型数据。

这样的逻辑一开始看上去似乎并不复杂,数据和业务分开,需要什么处理什么就可以了。然而这只是表面现象,实际情况是由于所有业务都依赖这些数据,一旦有新的业务需要改动时,很难辨识对其他业务的影响,前面所举资金算法就是一种场景。如果把数据库比作证券交易系统的心脏,那么所有业务使用数据库的场景就如同万箭穿心,这种情况下稳态和敏态也就成了无法实现的幻影。

对比上述四点现状,通过分布式技术解耦后的系统状态如下:

一是业务上以营运管理为中心将系统分解成多类小核心,并实现业务核心的高内聚,避免过长的业务条线;

二是以每个小核心为中心结合相应的外延业务形成子系统,其中引擎和服务可以根据业务分成多个,例如有竞价交易引擎、非交易引擎、大宗交易引擎等等;

三是每个子系统采用分布式的高可用技术保障稳定性,从而实现系统的稳态;

四是技术上子系统间使用分布式的低延迟高速消息总线进行数据交互,实现业务解耦,从而易于实现系统的敏态;

为更好证明业务解耦在技术层面的可行性,我们接下来谈一谈如何结合分布式技术和物理数据库实现数据一致性。这里我们在基于高性能的基础上,以资产计算解耦为例,着重从数据使用的特点进行分析,从而解决一致性问题。通常,要保障一致性往往要先解决持久化问题。本例而言,基于物理数据库所构建的高可用仍然是非常好的数据持久化工具。因此,我们这个例子中使用物理数据库作为持久化的一个场景提供业务管理和查询服务。

这里有两类外部指令需要特别关注,一是银证转账,一是资产查询。对于银证转出,其事务一致性要求往往较高,因此在转账时应直接从竞价引擎先行扣除再转出。而对于资产查询,如果只是针对总资产进行统计分析,一致性时延要求则不太高,约百毫秒级,这时我们使用的是竞价引擎同步下来的结果,在数据库与可取资金合并后输出的数据。此外,对总可取资金查询也可以这样实现,只有买入依赖的竞价可用查询,因为时延要求比较高,我们建议在竞价引擎中直接查询。这种方案很好结合了分布式技术和物理数据库分场景实现了数据一致性,完成了资产的分布式计算。

总结

回顾系统建设过程,我们在对业内分布式架构进行了调研分析后,选择了与华锐金融技术的专业团队合作,一步一步完成了原型验证、系统设计和开发、上海节点上线、南方中心节点上线等多个里程碑,最终打造出既可靠、又快速的分布式交易系统。目前,系统已经支持了现货交易、新股发行、回购、科创板、信用交易等多项业务,并与账户系统、营运管理和清算系统之间实现了良好的交互,目前正在增加更多的业务引擎。

除了低时延和高可用特性以外,分布式架构还具有很多优良特性,比如弹性可扩展、开放、平台化、易于自主掌控、易于国产化等。这些特点相对于传统技术而言,在系统的稳态和敏态建设中都有着不可替代的优势。

经过实践检验,我们深信基于低时延高可用分布式架构打造的证券交易新核心将成为解决传统集中交易痛点、实现稳态和敏态并举的优选方案。

「东方证券股份有限公司系统运行总部总经理 王海东」基于分布式架构打造证券交易新核心

发布于 2022-10-12 00:10:03
收藏
分享
海报
638
上一篇:嘉泽新能股票股吧(宁波东力002164龙虎榜揭秘0129) 下一篇:东方财富网新股申购一览表(4只新股发行)
目录

    忘记密码?

    图形验证码