查看原文
其他

【招商证券信息技术中心 陈军】证券行业自主研发技术框架XFramework

金融电子化 金融电子化 2019-10-30


当前,券商通道型业务萎缩、机构业务持续增长,要求券商不断追求业务和技术创新。但长期以来,券商IT系统建设高度依赖厂商,技术产品缺少自主知识产品。这导致IT建设对业务响应不及时,且券商的创新产品和服务极易被厂商复制,行业同质化严重,券商很难在技术领域形成核心竞争力。

 

招商证券秉承“技术引领业务创新”理念,积极探索技术领域的创新,通过学习BATJ等互联网公司的先进技术,结合行业发展特点,持续加大在云基础设施、大数据、云接入、微服务等技术领域的投入,自主建设了——“证券自主研发技术框架xFrameworks”技术体系。

 

xFrameworks中的“x”是一套企业级的应用开发框架,是由可视化开发平台Athena、统一接入平台Hermes、微服务业务中间件Zeus、统一后台业务开发框架USF(Unified Server Framework)四大核心部件的组合。实现了从可视化到接入、微服务到后台业务的统一集成。

 

Athena——可视化开发平台

Athena可视化开发平台基于react技术栈技术,实现前后端分离、“可视化+硬编码”混合开发模式,实现了IDE(集成开发环境)、可视化快速业务对象建模、可视化表单设计、可视化页面设计、可视化流程设计及完备的工程化支持。Athena基于react-native技术栈,结合H5技术,实现了“一次开发,多平台(IOS与Android)运行”。此外Athena还具备权限、安全、应用、设备等完善的管理功能,同时支持微信分享、名片扫描、人脸识别、安全网关、移动网盘、消息推送、用户行为采集等衍生服务。Athena具备超轻量、可解构、强同构、灵活等优势:

 

超轻量。Athena部署云端,通过浏览器开发,远离传统IDE需要安装各种关联环境的重型依赖。

 

可解构。Athena通过组件化、模块化,避免频繁出现的UI类和基础逻辑重复开发造成的资源浪费。使用模块,开发成员只需关注自己的模块,应用充分解耦,协同开发更加灵活快速。

 

强同构。Athena赋予开发者“Design Once,Run Everywhere”能力,在Athena可完成移动应用一次开发,便可以同时运行在IOS和Android两个平台上。

 

灵活。Athena采用工程化开发,引入React/Vue/Angular等先进的大前端技术,支持可视化组件拖拽开发和传统硬编码模式,所见所得,可视化构建与硬编码两翼齐飞。



Hermes——统一接入平台

招商证券在业内首家采用erlang技术构建的统一云接入服务,采用了分布式、公平调度、热更新、监督树容错模型、超轻量进程等突破式创新技术手段,为客户端提供开发接口(API)、服务端开发接口(SPI),同时还提供会话管理、安全控制、动态路由、流量控制、消息推送、全链路监控、服务端多节点支持、分布式缓存、海量日志采集管理等功能服务。Hermes核心技术有如下特色:

 

具备高可靠性的基于分布式接入系统。Hermes采用分布式技术实现统一接入平台,具有集群性和高可靠性,可依据线上运营情况动态增删接入节点应对通信流量高低峰值。该系统已运行2年时间,无宕机、无服务间断。

 

业内首家采用公平调度技术的接入系统。Hermes采用公平调度技术,使得系统的低延时和高并发能力。所有客户端和服务端之间的数据交互都能得到及时处理,经过验证,在海量接入情况下,Hermes也可以确保接入系统内的各种资源能够被公平地使用。

 

业内首家采用热更新技术的接入系统。Hermes采用热更新技术,在系统运行期间可直接升级,在这个过程中无需关闭系统和停机。此技术为修复系统BUG、动态增加功能提供了可靠保障,为统一接入平台长期稳定运行提供了坚实的基础。

 

业内首家采用监督树容错模型技术的接入系统。Her-mes的各个进程按树模型组织,自动容错。Hermes进程相互监督,在出现异常时,监督模型自动对异常进行隔离,防止扩散,并启动预设恢复机制自动恢复,实现了统一接入平台Hermes的高可用性。

 

业内首家采用超轻量进程技术的接入系统。Hermes采用超轻量进程,最小进程仅占用1000字节,单台PC服务器可支撑百万接入。

 

Zeus——微服务业务中间件

Zeus采用高性能RPC、异步消息等技术实现轻量级、扁平化的微服务框架,提供服务自动注册、自动发现、远程调用、API网关、熔断服务,可配置,具有高可用等特性。Zeus具备快速部署、工程化、超轻量、易扩展等特性。

 

极速部署。Zeus可在10分钟内完成生产环境部署,秒级实现全集群升级、服务发布和升级。

 

工程化。Zeus具备完善的工程化管理工具,涵盖了服务创建、编译、打包、部署、升级、卸载全生命周期;完善的异常监控、性能监控、进程生命周期(发布、运行、停止、升级、卸载)事件实时监控,具备灵活的scale-in/scale-out能力。

 

超轻量。Zeus基础发布包只有8MB,却小却全,具有allinone特性:一个发布包集成了所有的依赖(netty、mq、metrics),支撑所有基础功能(微服务基础运行环境、开发、编译、打包、部署、管理等命令行工具)。

 

易扩展。Zeus服务根据业务实际增长情况来进行快速动态扩展。

 

易升级。Zeus服务可独立进行升级,不用依赖于其他服务。

 

易维护。每个Zeus微服务的代码均专注于完成单个业务范畴的事情,逻辑精简,代码的可读性、可维护性高。

 

故障隔离。当Zeus的服务出现故障时,例如内存泄露、数据库连接未关闭,只影响单个微服务,避免系统雪崩。

 

USF——统一后台业务开发框架

USF采用高效、健壮、重计算的多进程C++框架,支持插件化、分组路由、协程、过载保护等特性,完备的基础开发库(日志、统计、监控、协程、配置、线程、IPC通信、闭包、定时器、网络库、DB客户端、Redis客户端组件)。开发人员专注业务插件开发,整体协作开发效率显著提升。USF具备如下优势:

 

支持热插拔。USF将业务逻辑代码编译成so动态库加载,系统自动进行业务逻辑更新,而在这一过程中框架进程无需停止,就像我们随时可以在电脑上热插拔U盘一样方便。

 

协程开发。USF通过对系统systemcall进行托管,使外部同步服务请求具有异步调用效率,显著提高业务开发、运行效率。

 

插件分组。USF将业务分成多个组,每个组配置不同的业务动态库插件,配置差异化应计算能力,使得业务处理灵活性、可扩展性更高。

 

动态过载保护。USF具备多种反馈机制,运行过程中动态调整过载保护策略,保障系统高可用性。

 

“证券行业自主研发技术框架xFrameworks”解决了行业普遍存在的过度依赖厂商、无核心技术知识产权、业务响应慢、创新能力不足的问题,招商证券采用完全自主技术框架,实现了证券行业从前端到后端全流程高效开发,节约了开发成本;同时,通过快速推出满足业务需求的产品,提高客户使用体验,提升客户服务质量,履行了为投资者发现价值、实现增值的金融服务商应承担的社会职责。同时,招商证券也有意向在行业内开源该技术框架,为推动证券行业IT技术的进步与发展,全面提升中国证券行业IT服务水平做出贡献。


往期精选

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




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

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存