【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

面对复杂技术栈,中泰证券如何做云原生转型?

  • 2023-09-08
    北京
  • 本文字数:2199 字

    阅读完需:约 7 分钟

面对复杂技术栈,中泰证券如何做云原生转型?

近年来,云原生转型已成为众多企业关注的焦点,中泰证券也不例外。但中泰证券的云原生转型面临着很大挑战。

 

中泰证券的软件架构非常复杂。除了传统架构,还有一些自行研发的云原生架构、独立框架以及独立的 C++框架等,云原生架构的比例较低。数据库方面同样如此,内部数据库类型繁多,Oracle 占了 30%,此外还有 MySQL、SQL Server 等等。过多的技术栈,各种架构交织在一起增加了转型难度。

 

中泰证券金融科技委员会主任兼科技研发部总经理何波在“2023 网易数帆城市行”大会上,分享了自己做云原生转型的过程。面对复杂的技术栈,中泰证券的技术团队的策略是将技术的复杂性与业务研究的复杂性分离。“通过标准化技术,我们可以将技术复杂性下沉,从而更多地关注业务复杂性,减少处理技术细节的时间和精力。”何波表示。

转型过程

 

从软件工程的演进来看,架构逐渐复杂,但基本原则一直清晰:低耦合、高内聚。通过不断将复杂性标准化下沉至基础框架,可以更好地实现从作坊式向工业化的转变,从而应对更加复杂的体系。



中泰证券在构建微服务体系的过程中,经历了技术选型、技术验证、引入开源实现及完全自研等一系列的过程。对于技术选型,中泰证券不希望重复发明轮子,也不希望完全受制于开源的实现,所以在技术选型时遵循如下原则:


在云原生转型过程中,中泰证券按照一系列明确的步骤进行了架构的迁移,其中一个关键举措是将应用与环境进行解耦。中泰证券需要逐步将原有的粗放式架构层层拆分,将其中台化。新自研项目除少数性能敏感的系统外,全部采用微服务架构;传统架构根据业务分类分组按需进行服务拆分改造;异构系统按需做服务适配,以 API 形式提供服务,保护投资,复用能力。

 

通过微服务的转型,技术团队成功将研发工作从上层抽离出应用和环境,也解决了过去部署过程中常见的配置文件和环境问题。借助 Kubernetes(K8s),团队成功实现了配置与环境的解耦。目前,中泰证券已经成功在 17 个 K8s 集群上运行了 2000 多个 pod。

 

应用和环境解耦后,接下来就是应用和配置的解耦。在传统的开发模式中,许多应用都含有大量的配置文件,有时甚至会将配置存储在数据库中。然而,这种做法在软件的配置、交付和上线过程中经常导致问题,因为不同环境中的配置可能不同。但实际上,应用本身与配置是没有直接关联的。按照云原生原则,中泰证券将配置转移到环境变量中,并通过配置中心进行管理,成功将应用与配置解耦,使得测试环境和生产环境中的应用完全一致,避免了配置文件引起的问题。目前,其已经建立了 4 个配置中心,涵盖了 80%的自研项目。

 

中泰证券的另一个重要改进是将中间件进行 PaaS 化。团队采用了网易数帆轻舟云原生平台作为中间件的资源池,将资源的管理从单个应用下沉到资源池中,避免了每个应用独立构建这些中间件。无论是 Redis、Kafka 还是多达 40 种不同版本的 MySQL 数据库,都被纳入了这一 PaaS 化的管理中。

 

金融机构的数据库存储量是很大的。为了提高维护性和升级的便捷性,中泰证券对数据库进行轻量化处理,摒弃存储过程,回归到分布式数据库存储。这样,架构不仅保障了数据的完整性,还将大部分业务逻辑下沉到应用层,资源层的 PaaS 化也为外部提供了便利。此外,中泰证券对制品库进行了全面的管理,实现了统一的交付渠道。

安全建设

 

技术发展过程中,建立一个更加安全和高效的治理体系至关重要。而中泰证券主要面临着技术栈多样性的挑战,涵盖了注册发现、配置中心、底层数据库、PaaS 等。

 

对于安全问题,中泰证券的技术团队认为,最关键的是要能够及早暴露出故障率。除了前述的技术栈,确保良好的监控和可观测性显得尤为重要。在实际操作中,技术团队需要明确监控的程度,确定哪些指标有意义、哪些无意义,并对衡量标准作出充分考虑,避免系统出现问题时仓促采取行动。

 

因此,中泰证券非常重视混沌工程的实践,通过模拟红蓝军演练,在系统中引入破坏并尝试恢复,从而更快地发现潜在故障。在这个过程中,技术团队进行了攻防演练,涵盖了大量故障处理,包括基础故障、CPU、内存使用率、磁盘使用率、中间件问题、MySQL 异常等。这一实践在某二级部门中得以应用,涉及到 20 多个业务场景、100 多个混沌场景以及 300 次的演练,有力保障了业务的运行。

 

接下来,中泰证券进入安全工具的应用阶段,通过代码扫描等安全工具,在 CICD 安全环节中加入了更多的监测。此外,无论是常规发布还是紧急发布,安全门禁都被置于产品的每个关键点,以确保发布和审核的安全性。

结束语

 

为了评估转型效果,中泰证券对资产进行了分类:实用资产和战略资产,实用资产包括服务器、网络、财务系统等,战略资产包括企业用来向客户提供产品或服务的工具,可以形成差异化竞争优势。去年,中泰证券的战略资产占比为 20%,如今已提升至 28%左右。

 

总体而言,云原生转型带来了研发质量和效率的提升。通过减少重复劳动和不必要的开发,中泰证券实现了研发效率的增加。测试能力的提升以及自动化测试平台的使用,也节省了大量的测试时间,大幅度降低了测试成本。

 

何波还表示,中泰证券最近也在尝试用大模型自动生成代码、自动化测试等,希望开发人员可以聚焦在写业务代码上,并且通过云原生改造真正把技术沉淀下来,变成一些标准化的东西使用。

 

目前,中泰证券自研项目的研发部分完成了约 70%。“我们的目标是进行全面的云原生转型。”何波表示,云原生带来了研发质量和效率的提升,通过敏捷 IT 能力的构建,为证券业务数字化转型加速,更好地支撑业务创新与客户体验提升。

 

2023-09-08 09:564531

评论

发布
暂无评论
发现更多内容

Apache Pulsar 2.6.1 版本正式发布:2.6.0 功能增强版,新增 OAuth2 支持

Apache Pulsar

消息队列 Apache Pulsar 消息系统 消息中间件

月度工作汇报,为什么要全球直播?

赵新龙

TGO鲲鹏会 技术社区 开源社区

“全球+”浪潮下,企业出海选择合适的“技术船舶”成关键

华为云开发者联盟

网络 华为云 企业出海 网络加速 宽带

第11周总结+作业

林毋梦

炒股不要看K线图(分享最近学习投资的一点心得)

Nick

投资 理财

面经手册 · 第7篇《ArrayList也这么多知识?一个指定位置插入就把谢飞机面晕了!》

小傅哥

Java 数据结构 面试 小傅哥 ArrayList

云原生技术采用增加,全球60%后端开发人员都在使用容器 | 趋势分享

BoCloud博云

云计算 容器 云原生 PaaS 博云

我也没想到 Springboot + Flowable 开发工作流会这么简单

程序员小富

java 14

华为云会议的前世今生

华为云开发者联盟

直播 云服务 华为云 视频编码 视频会议

有选择才会有困惑

escray

学习 面试

使用 K8s 进行作业调度实战分享

后端进阶

学习 Kubernetes 容器 k8s 调度式分布

Redis系列(一):Redis简介及环境安装

简爱W

Flink-键值分区状态-10

小知识点

scala 大数据 flink

难以遏制的人因差错-Go的日志工具之痛

田晓亮

微服务 Go 语言

MySQL redo与undo日志解析

Simon

MySQL Redo MySQL日志

聊聊微服务

炜娓道来程序人生

架构 微服务 SOA

甲方日常2

句子

工作 随笔杂谈 日常

Java | 你知道快速搭建一个spring boot项目该怎么做吗?

简爱W

Docker 镜像构建之 Dockerfile

哈喽沃德先生

Docker 容器 微服务

CRM企业到底该不该做PaaS?

ToB行业头条

PaaS SaaS CRM

温故知新——Spring AOP(二)

牛初九

spring aop ioc

Luajit字节码分析之KSTR

whosemario

lua

面试官再问你Http请求过程,怼回去!

架构师修行之路

HTTP TCP/IP

Android |《看完不忘系列》之dagger

哈利迪

android

性能相关,内存

Linuxer

性能

从6大应用场景,看边缘计算落地生根

BoCloud博云

容器 边缘计算 PaaS 云平台 博云

莱卡、宾利都在用,英特尔oneAPI渲染工具带来高质量视觉体验

E科讯

【Elasticsearch 技术分享】—— ES 查询检索数据的过程,是什么样子的?

程序员小航

Java elasticsearch 搜索 ES Lucene Elastic Search

Redis系列(二):Redis的5种数据结构及其常用命令

简爱W

零代码简史

明道云

SaaS

新金融分布式架构之SOFAStack解决方案

阿里云金融线TAM SRE专家服务团队

面对复杂技术栈,中泰证券如何做云原生转型?_企业动态_褚杏娟_InfoQ精选文章