实战丨新一代分布式核心交易系统解耦之路
欢迎金融科技工作者积极投稿!
各抒己见!
投稿邮箱:
newmedia@fcmag.com.cn
——金融电子化
东方证券股份有限公司
系统运行总部总经理 王海东
东方证券长期以来一直秉承解耦思想,不遗余力、积极探索,从2016年12月开始规划设计,2018年5月完成了兼具稳敏双态特性的证券交易新核心—“东方睿阳”的建设。实现了运维、营运、风控、交易的完全分离;将低延时、高可用、松耦合思想贯彻整个交易、行情、风控等证券核心交易业务领域。
本文着重探讨从传统集中交易到新一代分布式核心交易系统的解耦思想及其应用实践效果,讲述“东方睿阳”如何实现竞价引擎和综业引擎的独立部署,如何根据权限和费用的业务特点进行营运内部的化繁为简,以及如何实现可弹性扩容的报盘集群等令人振奋的系统解耦探索之路。
证券交易系统解耦是
证券业务发展的必然趋势
技术系统的专业化发展就是要让专业的工作由专业的系统来完成。证券交易的核心解耦也一直是证券交易技术发展的重要关注点,证券核心交易系统从诞生开始就一直在走解耦的道路。综合目前所做的各种解耦工作来看,一般都是因为某个业务或功能需求的发展推动的,都是由于这些需求的实现多半不再可以简单的与原有核心功能合并实现,从而不得不进行解耦,分离出新的系统或子系统。
解耦的方式主要有横向和纵向两种:横向解耦是指将单个业务指令分解成多个环节,例如从简单的C/S架构变成多层架构就是将业务实现和通讯层进行了拆分,可以说是证券交易系统的第一次解耦。网上交易等复杂终端的出现是第二次横向解耦的产物,其目的是让终端承载更多的业务指令预处理和业务结果的综合整理,为投资者提供更快、更好的服务。而纵向解耦则是指将业务进行分类,按照一定的原则将某一类或某几类相关的业务组成一个集合与原有业务进行分离形成新的系统或子系统。例如CRM等系统的出现就是纵向业务解耦的一种场景;账户业务的分离则是集中交易后的又一次旗帜鲜明的业务纵向解耦。随着业务的发展横向解耦产生了系统的小核心大外延,而纵向解耦推动核心业务实现的高内聚和松耦合。
从上述业务解耦的发展过程我们一般认为系统解耦的推动力是业务的发展,其最终实现则依赖合适的技术引领。
证券交易系统解耦需要
从证券业务领域驱动系统设计
经过十多年的发展,集中交易当之无愧地成为证券交易的核心系统,其业务规模和处理能力也都发展到了极致,然而业务发展不会止步,对系统的要求也不会停止,系统解耦还在路上。尤其是机构业务的蓬勃发展使得当前核心交易系统面临性能、容量、监管、营运、运维等诸多更高的要求。其根本原因是核心交易系统所服务的各个业务领域都有了较大的成长,需要重新定义和规划,解耦方式也不仅仅局限于横向和纵向,往往会是一个综合的方案。
以性能为例,投资者对交易性能的要求一直是证券交易不懈的追求,现阶段整个链路时延已进入微秒级的争夺,传统集中交易的TCP通讯和传统数据库技术基础决定了其性能难以达到这个量级,再加上集中交易所综合的业务品类和控制要求也使得业务指令需要穿过层层逻辑判断才能达成业务目标。一般情况下,只有竞价业务才会有性能要求,非竞价业务的性能要求则相对要弱一些,但传统集中交易的各种交易功能实现是紧耦合的。因此,如果要使用新技术提升性能,就可能会同时提升了多种业务性能,显然不够经济,而且会因为链路上的功能繁多导致性能提升的空间有限。所以我们要将传统的交易领域划分成竞价交易领域和非竞价交易领域,然后针对竞价交易领域进行专业的性能优化。同时,鉴于机构客户的资产和交易特点,其单一账号往往资产规模较大,竞价交易频率较高,多个同类产品叠加后的交易峰值有可能会达到每秒几十万笔的情况。传统集中交易面对这样的脉冲就会产生阻塞,甚至会因为紧耦合设计而蔓延到其他业务处理功能上。竞价交易领域与非竞价交易领域充分解耦后,不但可以有效隔断阻塞的蔓延,还会因为性能好和弹性扩容等能力从根本上减少阻塞的发生。
营运和风控管理领域亦如此,随着业务品类的增加,营运和风控的需求与日俱增,必须通过对业务的价值链和操作管理进行多层次的解耦和标准化才能做好与之匹配的业务设计。例如竞价业务与综合业务在营运管理上就有着较大的差距,表现在权限和费用等实现上也有着非常大的区别。因此这部分营运管理可以再解耦成竞价和综业的营运管理,这也是使用高内聚的方法来进行解耦的思想体现。以费用为例,竞价业务的费用主要是佣金、印花税、过户费,种类少,算法也很稳定。而基金的认购、申赎和分拆、要约收购、大宗交易、回购等综合业务的费率品类繁多,算法也不尽一致,会因为业务发展有较大变化,甚至不同市场的要求还有很大区别。传统集中交易将所有品类计费模型合并在一个计费模块中实现的设计显然已不太能适应现有业务的发展。因此营运管理的业务领域也会在计费方面分成竞价计费和综业计费两类,甚至更多类的业务模型,否则频繁的修改会导致系统的不稳定,复杂的设置也会给营运管理带来很多不必要的麻烦。解耦后,竞价业务的费用实现无需考虑综合业务的各种特点和场景,数据结构规整,业务实现稳定;而综合业务的权限和费用则可以非常灵活的满足各类需求,无需顾忌对竞价业务影响。同样,业务权限、适当性、统计分析等营运和事前、事中、事后的风控管理等都应该遵循业务的发展而进行适当的解耦,以实现各个专业领域的专业化服务。
如图1所示,是很多券商同行在积极探索的业务解耦思路之一,其设计驱动力显然都来自证券业务领域模型的细分和发展。
图1 业务解耦思路
实现后营运、运维、风控等管理业务领域不再与核心交易领域紧耦合,而是变成一个可以适当打开的外壳来支撑核心交易,这个变化是业务的横向解耦,可以将不需要的业务处理从链路中剥离掉。同时管理业务领域和核心交易领域内部也进行了解耦,这个变化就是按照业务类型进行了纵向解耦。两者结合就可以达到如下效果:
一是对性能要求高的投资终端可以直达引擎,交易链路更简洁。
二是核心交易领域从传统交易中剥离出来后,交易业务的实现不再与营运、风控、运维等管理业务绑定,核心交易执行时所占用资源也将减少。
三是竞价和综业引擎独立,综业发展的时候可以保持竞价稳定,竞价发展的时候修改内容少,投入少,风险可控。
四是各类管理业务适当解耦后通过明确的接口进行交互,可独立部署,便于弹性扩容。
至此,证券交易业务领域分解成了身轻如燕、固若金汤的竞价业务领域和多个身手敏捷、百花齐放的其他业务领域。当前一段时间内,该模型将驱动证券核心交易系统的进一步解耦。
证券交易系统解耦的分布式技术应用
业务领域解耦后,自然就要驱动技术进行实现。虽然事件驱动、观察者、责任链等设计模式和面向接口的编程方式仍然是系统解耦的开发技术基础,但原有基于传统数据库的集中交易,其各方面的能力受制于数据库、小机、TCP通讯等技术的限制,已经很难有效满足当下先进业务功能的迫切要求。而新一代分布式架构采用的无锁队列、零拷贝、流水线、RDMA、可靠组播等底层技术将业务处理和通讯时延都降低到了微秒级,成功突破了传统业务处理毫秒级的性能瓶颈。于是新一代分布式证券交易核心系统应运而生,承接了当下的技术发展使命,开始引领证券交易系统的解耦之路。
过往的经验告诉我们,没有低延时,解耦后的系统应用将会更加冗长和缓慢,随之而来的就是性能瓶颈和阻塞蔓延;没有高可用,解耦后的系统就会单薄而脆弱,随之而来的就是不稳定和难运维。这两个技术特点是分布式技术引领系统解耦的关键技术基础,在对业务逻辑分析透彻的前提下,这两项技术的灵活运用可以使得系统解耦游刃有余。经过多年的实践和探索,东方证券选择了以低延时为核心基础的分布式高速消息总线为技术架构,其优秀的高可用特性在现有可选的消息总线中也无出其右者。
以报盘集群为例,东方证券在长期的系统运行管理工作中,深入剖析报盘运维痛点,借鉴沪深证券交易所的成熟经验,运用分布式技术的解耦特性,先将报盘部署成竞价和综业两类平台,再将竞价类的报盘按交易量进行分组,每组2~3个报盘通道形成集群,然后将综业类的报盘合并成另一组集群,终于完成了多年的愿望,极大的降低了报盘运维的复杂度,并收获了一定的业务效益。
以图2为例,报盘通道数从8个减少到6个,而且原有证券席位数量越大,可以节约的席位和通道数量就越多;报盘有效连接数从16条减少到6条,降低了应用程序监控和网络管理的复杂度;实现了报盘的热备高可用,主报盘应用服务异常后可以零丢失、无感知的自动切换到备用服务上,无需人工判断和操作;实现了通道的负载均衡,同一集群的报盘通道所承载的报盘压力是均衡的,无需根据业务量波动而人工调配;每组集群的通道数量可以根据实际需要简单的增减,运维方便快捷。
图2 报盘集群化
上述方案在提升报盘运维能力的同时,还实现了单个股东账号报盘容量上线的突破,客户席位与报盘通道的解耦也使得内部账号迁移时无需顾忌报盘席位的修改。并且由于完成了竞价和综业的报盘解耦,两大类业务之间的报盘再无影响,业务功能有效内聚,真正实现了竞价的稳态和综业的敏态。
因此,我们认为报盘集群应用是一次非常成功的解耦实践,是高内聚、低耦合设计思想的典型应用案例。实现集群后,竞价业务报盘集群侧重多分组均摊交易通道保障安全稳定、支持弹性扩容;综合业务报盘集群则只需要共享一组交易通道可以节约资源,并与竞价隔离支持业务的敏捷开发。
总 结
以证券交易业务领域解耦模型驱动的集中交易分布式演化之路已经全面启程。其本质是数据流消息化后给业务解耦带来的核心价值,业务逻辑实现不再是需要数据时由应用去获取,而是数据化身为消息在各个组件之间高速流动,驱动业务的完成(见图3)。
图3 分布式演化
数据库不再是业务运行的核心基础,避免了系统因数据库产生单点故障和性能瓶颈;应用系统间的接口清晰,可以合理分拆独立部署,也便于合并组合适配业务模式的变更发展;应用组件可根据业务需求各自进行快速的弹性扩容;系统模块在设计之初就自带主备和负载均衡等高可用特性。
展望未来,随着业务领域模型的发展和系统设计开发的成熟度提升,证券核心交易系统将在分布式技术架构基础上践行解耦之路,不断创新演化,并拓展到证券行业的其他应用领域,打破同质化竞争,助力券商行业的数字化进程。
(点击查看精彩内容)
关于仿冒我刊收费的声明
我刊自创刊以来,从未向投稿人收取过任何费用。任何以刊发文章为名向投稿人收取费用的行为,均属于对投稿人的欺诈行为。
我刊官网地址为 www.fcmag.com.cn。
我刊投稿邮箱为 fcmag@fcmag.com.cn。
对于仿冒我刊网站、网页的违法行为,我社将追究其侵权责任,以维护我社和投稿人的合法权益。仿冒网站、网页举报电话:010-88232443
《金融电子化》新媒体部:主任 / 邝源 编辑 / 潘婧 傅甜甜