22

证券公司技术中台的发展与应用

 4 years ago
source link: https://mp.weixin.qq.com/s/dm803WX_d6I1JIxl03tUFw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

UFNneau.jpg!web

YrqiiiY.jpg!web

兴业证券股份有限公司金融科技部副总经理 王伟强

以大数据、云计算、人工智能、区块链为代表的现代信息技术应用日新月异,对传统金融业的管理、运营、服务模式带来极大的改变,同时也为金融业和资本市场发展带来崭新机遇。近年来,金融业不断强调“科技赋能”,而以互联网巨头阿里、腾讯、华为等为代表的企业提出的“大中台,小前台”的战略,是通过集中建设技术中台,高效输出技术能力到前台业务开发团队,为实现“科技赋能”提供了可行的技术路线。本文将结合兴业证券在技术中台建设应用方面的多年实践,对技术中台的范畴和概念、技术中台的价值、技术中台的建设以及如何让技术中台推动证券公司实现“科技赋能”进行深入阐述和讨论。

证券公司系统架构的发展及变迁

1. 证券公司系统架构的发展

证券行业经过几十年的高速发展,业务日趋复杂、竞争日趋激烈,信息技术已成为行业的核心竞争力。近些年,以大数据、云计算、人工智能、区块链为代表的现代信息技术应用日新月异,信息系统架构不断升级变迁,从传统的单体架构,到 SOA 架构,再演变为如今的微服务分布式架构。

(1)单体架构。顾名思义,系统所有代码逻辑都集中在一个工程之中。早期应用多数是采用这种单体架构,对于小项目是一个很好的选择。但随着项目功能不断增加,工程体量越来越大,业务逻辑越来越复杂,代码的集中让开发迭代和运行维护工作都变得愈加困难。

(2)SOA 架构。SOA,即面向服务的应用架构模式,SOA 架构比较典型的应用是企业服务总线 ESB, 在 SOA 架构下,大大减少了系统间的耦合度,但 ESB 的服务颗粒度一般比较粗,不利于服务灵活编排和组合,同时 ESB 在整个企业信息系统中是一个核心枢纽,存在通信热点问题,一旦出现故障将导致大部分系统失效。

(3)微服务分布式架构。随着互联网行业的快速发展,在大流量的场景下很多互联网公司率先遇到了应用性能的天花板,加上大量个性化需求的涌现,各大互联网公司进一步考虑前中后台服务抽象和解耦。在此基础上出现了微服务架构,将系统的服务完全独立出来,采用注册发现机制取代 ESB 的中央路由节点。微服务的去中心化和细粒度独立部署最大限度地提高了代码复用性、生产效率和应用性能。

应用架构的演进为企业中台建设做好了技术储备。

2. 中台建设的必要性

传统的信息技术架构不仅严重约束了 IT 对业务需求变化的快速灵活响应,也使得信息系统累积的风险越来越大,难以适应证券行业创新发展的要求。

中台就像是在前台与后台之间添加的一组“变速齿轮”,将前台与后台的速率进行匹配,是前台与后台的桥梁。它为前台而生,易于前台使用,使后台资源顺滑流向用户,响应用户。

通过中台层,企业可以将臃肿不堪的前台系统中的稳定通用业务能力“沉降”到中台层,为前台减肥,恢复前台的响应力,又可以将后台系统中需要频繁变化或是需要被前台直接使用的业务能力“提取”到中台层,赋予这些业务能力更强的灵活度和更低的变更成本。

因此,企业在信息化的过程中,需要建设强大的中台解决前台的创新问题。

兴业证券技术中台实践

eqaQr22.jpg!web

图 技术中台整体架构

1. 以技术中台为核心的技术架构

技术中台的架构会极大影响整个公司的技术体系,通过设计分层服务和一系列面向开发和运维的辅助工具,构建了以技术中台为核心的技术架构(见上图)。

(1)基础设施服务,即 IaaS 层,提供硬件底层支持 ;

(2)基础服务层,即 PaaS 层,包括分布式服务框架、分布式数据库、分布式消息、分布式存储、分布式事务、实时监控服务等等 ;

(3)技术中台,包括从各服务中心抽象出来的共性业务能力,例如交易、账户、会员、行情、渠道、数据、智能等等。同时包含了对研发的支持,包括通用组件服务、开发框架支持、中间件封装及运行开发支持等。最后,通过服务治理,中台服务提供相关配套支持 ;

(4) 网 关,基 于 Open-Resty 搭建的服务网关,提供了服务路由、服务鉴权、灰度发布、服务限流、服务降级等功能 ;

(5)业务应用,经过调取技术中台,组装形成独立业务服务能力的业务应用。

2. 技术中台完整技术栈

技术中台主要功能包含业务组件、技术组件和服务治理三部分。业务组件提供标准的通用业务服务,供前台组装个性化功能,实现业务需求的快速响应和支撑。技术组件服务于系统开发人员,提供各类基础库和框架以及一系列工具 ;致力于标准化研发流程,提高研发效率,提高代码复用能力,实现对自主研发的支撑。服务治理主要面向运维人员,其提供的管理后台及工具用于支持运维人员系统化管控已上线的各类应用和服务,避免手动运维,提升运维和监控效率。

(1)自研微服务 RPC 框架(Lisa)

兴业证券微服务 RPC 框架(以下简称 Lisa)是采用Zookeeper 做服务发现、基于 Netty 异步 IO 库实现的长连接型高性能高可用的微服务框架。Lisa 除了支持精简的 TCP 私有协议外还支持 RESTful 协议提升兼容性,以便于用最小成本将历史陈旧系统纳入微服务体系。Lisa 与市面上流行的微服务框架相比有更折衷的特性平衡。

Lisa 除了在性能和易用性上做了平衡之外还独创地加入了事件机制。Lisa 的事件机制模仿了 .NET 平台语言的 Class设计,服务提供者除了对外提供接口方法之后还会抛出事件用于回调服务消费者逻辑。通过该机制,服务消费者可以监听(Catch)目标服务感兴趣的事件来驱动自身响应逻辑的执行。Lisa 微服务的事件机制为系统双向解耦提供了更多手段。

Lisa 微服务框架实现了应用从单体结构向分布式网状结构的飞跃,它是技术中台研发支撑的重要组成部分。利用微服务架构研发人员可以更好地组织和分派到不同子项目中去,减少开发过程中的协同耦合和代码冲突。

(2)配置集中管控

技术中台通过配置集中管控,面向开发人员提供一套标准的配置访问接口来统一不同应用的配置访问手段。该配置集中管控解决方案带来了诸多好处 :一是配置存储方式与配置访问接口解耦 ;二是配置的变更通过配置管控系统进行,避免了手工运维 ;三是不同团队开发者无需重复编写配置访问代码 ;四是支持服务接口变更配置,业务逻辑实现手段更灵活。

兴业证券基于 Zookeeper 实现了树形配置集中存储解决方案,Zookeeper 的树形节点结构更贴合配置应有的数据结构。通过 Zookeeper 的 Watch 机制将读取过的数据异步更新至内存来实现配置重复高速访问。

(3)系统化代码发布

代码发布是运维的主要工作之一,包括后端代码和前端资源。证券行业是强监管领域,开发和运维工作隔离是底线,而一个强而有效的系统是保障这一底线的必备手段。基于Jenkins 的 DevOps 系统将开发者的源码编译、打包、发布至运维容器中,一气呵成,避免了手工发布的低效方式。

(4)服务网关

OpenResty 是基于 Ngnix 和 Lua 的高性能 Web 平台,内部集成精良的 Lua 库、第三方模块、依赖项。基于 Open-Resty 搭建的服务网关,提供了服务路由、服务鉴权、灰度发布、服务限流、服务降级等功能,可以满足高并发和高可用的系统要求。

(5)全链路监控和性能管理

通过内置采集组件采集各个应用的运行时数据,包括接口调用、DBMS 交互、日志写入、Cache 访问等,将应用业务逻辑的各个关键环节数据全量压缩采集并在高吞吐的流式分析中心进行集中分析。

基于 Kafka 的日志收集功能,实现了公司内网海量日志采集和并行分析计算。服务性能管理(APM)通过部署大量并行计算节点,将日志哈希采集至对应的计算节点进行计算和存储。通过高效的海量时序数据库和表格存储,将各个应用的关键环节性能分析报表进行存储,相关上下文日志存储算法通过降低读取效率和数据一致性的预期,来支持大规模并行写入,这样的设计非常适合监控系统的存储场景。

技术中台体系的挑战

以技术中台建设带动的技术架构转型,对应用系统从设计阶段、开发阶段、发布阶段到运维阶段都有不同的要求,对现有的整个 IT 体系和技术人员都是一种挑战。

一是对运维体系的挑战。传统架构下,只要保证特定应用正常运行即可,而在微服务架构下,服务快速发布需要大量的重复部署,日常运维需要保证几十个甚至上百个服务正常运行,给整个运维体系带来了前所未有的挑战。传统依靠人工的方式去运维是绝对行不通的,这就倒逼运维体系变革,依靠自动化运维、容器化部署、智能监控、故障自愈等技术手段提升信息系统整体的安全稳定运行水平。

二是对性能和可用性的挑战。各业务流量汇聚到中台服务,性能和可用性是最大的问题。面对大量用户访问和请求,技术中台服务要能扛得住大流量、高并发的考验。同时,随着服务越来越多,技术中台会日趋庞大,涵盖服务定义、服务网关、负载均衡、全链路监控的服务治理将是一个重要的关注点。

三是对 IT 团队变革的挑战。在原来的开发模式下,开发一个应用往往在一个团队内形成闭环,但在微服务的架构下应用开发不可能在单一团队中闭环,所有技术人员要和不同的系统、不同的中台技术平台打交道,要形成服务接口规范和高质量的文档,对他们原有的理念和习惯有很大的挑战。技术人员的思维方式和团队之间的沟通协同也会有很大的改变,IT 团队架构需要按照新的组织架构进行重构。贯穿开发、测试、运维、运营等各部门联系和沟通不断加强,DevOps 应运而生,以微服务架构为核心的技术中台体系正在改变技术团队组织方式。

结语

信息科技蓬勃发展,从“互联网 + 金融”和“金融 + 互联网”的互联网金融概念之争到“金融科技”概念的盛行,对金融行业的影响的论调也从“颠覆”“改良”到现在的“赋能”,这是信息科技发展带来最直观的迭代变化,而实现“科技赋能”是对证券公司自身技术能力的挑战。兴业证券的技术中台实践还处于刚刚起步的阶段,未来还有很长的路要走,希望我们的实践和探索能够为行业总结一些可分享可复制的模式,为整体行业进步贡献自己的力量。随着行业越来越多的证券公司投入技术中台建设,从技术共性角度,我们建议 :第一,形成开放的接入标准,促进能力复用;第二,促进形成协作共享的生态,很多微服务架构是同构的技术平台,在这上面很多共性的东西,像服务治理类、监控、部署运维有技术共性的东西,行业是可以一起来进行推动的 ;第三,真正为行业发展赋能,推动应用开发商通过开放各家公司的技术中台开放能力,推动整个证券行业的发展。

推荐阅读

(点击图片查看精彩内容)

2maMveQ.jpg!web

AVV3qeI.jpg!web

je2aa27.jpg!web

《金融电子化》新媒体部:主任 / 邝源  编辑 / 潘婧

jyQZ73I.gif

UBVNRrQ.gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK