当前位置: 首页 > news >正文

华锐技术何志东:证券核心交易系统分布式改造将迎来规模化落地阶段

近年来,数字化转型成为证券业发展的下一战略高地,根据 2021 年证券业协会专项调查结果显示,71% 的券商将数字化转型列为公司战略任务。

在落地数字化转型战略过程中,证券业核心交易系统面临着不少挑战。构建新一代分布式核心交易系统成为券商落地数字化转型的有效路径,证券业核心交易系统分布式改造已是大势所趋。

证券业核心交易系统有什么需求?有哪些挑战?如何进行分布式架构升级?在 PingCAP 用户峰会 2023 上,华锐分布式技术实验室主任何志东接受采访时给出了他的观察和思考。

证券业核心交易系统面临挑战

在数字化转型的大背景下,金融业的系统架构都面临着新的需求和挑战。 由于业务的差异,银行、证券、保险三大金融行业对系统架构的需求既存在共性,也有不同。

何志东介绍,银行、证券、保险都属于金融业,金融业稳定第一,对系统的高可用能力要求极高,尤其是银行、证券对系统有更高的可用性要求。

相比于银行,证券业因自身的业务特性,对系统架构有独特的需求。首先是低延时,证券市场交易永远追求超低延时,证券核心交易系统需要微秒级(1 毫秒 = 1000 微秒)时延,银行系统达到毫秒级(1 秒 = 1000 毫秒)。其次是高并发,证券核心交易系统会有很多瞬间的脉冲,单一系统瞬间超万笔每秒,交易所侧的系统设计并发容量都是几十万笔每秒,这样的高并发量是双十一等购物节的峰值,但那并非常态,而高并发量是证券业的常态。在系统规模上,证券业的系统规模没有银行那么大。

“需要在小规模系统的情况下处理更高的并发,而且要求更低的时延,这就是证券业跟银行业核心交易系统的一个很重要的差别。”何志东说。

证券核心交易系统是证券公司交易执行平台,提供交易前端风控检查、订单生成、报盘、交易管理、运营等功能,为投资者提供交易服务。从 2005 年算起,上一代集中式架构的证券核心交易系统已经运行了近 18 年,证券行业正处在持续发展阶段,上一代系统面临着高可用、低延时、高吞吐、易扩展、安全方面的挑战,已经无法满足新的业务诉求。

“整个证券行业正在进入到新一代核心交易系统更新迭代的关键时间节点。”何志东说,证券业核心交易系统不断追逐新的技术,追求高可用和性能,支持全栈国产化以实现安全性,核心交易系统的分布式改造迫在眉睫。

今年 6 月,中国证券业协会印发《证券公司网络和信息安全三年提升计划(2023-2025)》,鼓励券商向分布式架构转型。计划明确鼓励有条件的券商积极推进新一代核心系统的建设,根据不同客户群开展核心系统技术架构的转型升级工作。积极从集中式专有技术架构向分布式、低时延、开放技术架构转型。

分布式改造加速破局

何志 东介绍, 上一代证券交易系统围绕数据库构建,太过于依赖数据库的能力。 而随着业务对极速低时延的需求加深,围绕着数据库构建系统的方式无法满足其低时延需求,假设每一步业务处理都要跟数据库进行交互,再往下走,数据库能达到毫秒级,系统不可能达到微秒级。

由于证券行业追求极致的低延时,需要从底层硬件、基础软件再到上层应用全方位整体探索,软硬件一起结合才能实现技术攻关。所以华锐技术 2017 年成立了分布式技术实验室,把业内先进的硬件技术应用进来,华锐技术新一代证券分布式核心交易系统的技术路线是去数据库集中化,采用低时延消息总线通信、业务逻辑内存化处理,进行分布式改造,以实现超低时延,这是目前行业内已经验证可行的方案。

全栈国产化的趋势下,华锐技术联合各生态伙伴打造全栈国产化解决方案,助力证券业进行分布式改造。比如华锐核心交易平台(ATP)与 TiDB 组成的新一代分布式核心系统联合解决方案,以解决证券核心交易系统的挑战。

ATP 基于分布式低时延消息总线构建,实现微秒级高并发交易,并实现应用层分布式弹性扩缩容,提供高吞吐、低时延等关键业务能力;ATP 实时将数据写入 TiDB,提升数据持久化和高可用能力,并提供对外部机构查询接口;基于 TiDB 原生分布式和跨机房多活能力,实现数据库的跨机房多活能力。

该联合解决方案是全栈国产化方案,采用国产服务器、国产操作系统和交换机。满足高可用特性,联合方案采用两地三中心(一主两备)高可用部署,主备数据中心采用主备高可用部署,组件间实时同步保持强一致性,任意单点故障实现自动切换,RPO=0,RTO<10 秒。应用和数据库都支持水平扩展。

何志东指出,分布式的联合解决方案所采用的交换机、PC 服务器等设备,单一设备可靠性、性能比不上小型机,但通过上层应用、数据库、基础设施的高可用方案设计,构建出时延更低、性能更强、可用性可靠性更高,且可横向扩展的整体解决方案。

何志东认为,随着去年头部券商国泰君安新一代核心交易系统上线投产,并完成全量 1500 万客户的迁移,业内对全栈国产化核心交易系统先进替代的信心进一步增强,未来也会有更多的券商跟进。相比于银行业,证券核心交易系统的规模较小,且标准化程度更高,更依赖供应商提供的标准解决方案,分布式改造进展会更快,证券业核心交易系统分布式改造将迎来规模化落地阶段。华锐技术也将继续联合 PingCAP 这样的分布式数据库厂商,推动证券业核心交易系统的分布式升级改造,他认为 PingCAP 此时推出中国战略,能够更好地满足国内证券市场的需求,未来可期。

相关文章:

华锐技术何志东:证券核心交易系统分布式改造将迎来规模化落地阶段

近年来&#xff0c;数字化转型成为证券业发展的下一战略高地&#xff0c;根据 2021 年证券业协会专项调查结果显示&#xff0c;71% 的券商将数字化转型列为公司战略任务。 在落地数字化转型战略过程中&#xff0c;证券业核心交易系统面临着不少挑战。构建新一代分布式核心交易…...

数据结构 -- ArrayList与LinkedList的区别

一、二者的相同点 1&#xff0c;它们都是继承自List接口。 二、二者的区别 1&#xff0c;数据结构&#xff1a;ArrayList是&#xff08;Array动态数组&#xff09;的数据结构&#xff1b;而LinkedList是&#xff08;Link双向链表&#xff09;的数据结构。ArrayList 自由性较…...

豪车托运为什么选小板

小板运输是一种适用于豪车客户的高效运输方式。它提供了快速、安全、便捷的服务&#xff0c;并且相对经济实惠。以下是关于小板运输的时效和价格的介绍&#xff1a; 时效&#xff1a;小板运输通常能够在短时间内完成车辆的运输。具体时效取决于起点和目的地之间的距离&#xff…...

【base64加密】js/ts的基础加密

base64的字符串简单加密&#xff0c;主用于网页缓存数据的加密。 适用于常规html、小游戏&#xff08;egret、cocos、laya&#xff09;等 原文参考&#xff1a;JS基于base64编码加密解密文本和图片&#xff08;修订&#xff09;_js base64加密-CSDN博客 测试&#xff1a;JS实…...

基于python的app程式开发

安装的库文件&#xff1a; 运行代码&#xff1a; # -*- coding:utf-8 -*- from kivy.app import App class HelloApp(App):pass if __name__ __main__:HelloApp().run() 结果画面&#xff1a;...

Spring Event学习

Spring Event学习 观察者模式是一种行为设计模式&#xff0c;它定义了对象之间的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都会得到通知并被自动更新。在这个模式中&#xff0c;改变状态的对象被称为主题&#xff0c;依赖的对象被称为观…...

UE4 HLSL学习笔记

在Custom配置对应ush文件路径 在HLSL中写入对应代码 Custom里面增加两个Input&#xff0c;名字必须和ush文件内的未知变量名字一样 然后就对应输出对应效果的颜色 这就是简单的加法运算 减法同理&#xff1a; 乘法除法同理 HLSL取最小值 HLSL取最大值 绝对值&#xff1a; 取余…...

报文的路由过程

路由转发过程 记住路由转发过程结论&#xff1a;报文ip是不变&#xff0c;mac改变。 mac地址在同一个广播域传输过程中是不变的&#xff1b;在跨越广播域的时候会发生改变的&#xff1b;而IP地址在传输过程中是不会改变的&#xff08;除NAT的时候&#xff09;。 ip地址本质上是…...

【CPP】类和对象

1- Classes and Objects Structures A struct in C is a type consisting of a sequence of data membersSome functions/Statements are needed to operate the data members of an object of a struct type 不不小心操作错误&#xff0c;不小心越界 Classes You should b…...

【多线程面试题二十】、 如何实现互斥锁(mutex)?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;如何实现互斥锁&#xf…...

hypercube背景设置为白色,绘制高光谱3D立方体

import scipy pip install wxpython PyOpenGL和Spectral需要本地安装 可参考链接https://blog.csdn.net/qq_43204333/article/details/119837870 参考&#xff1a;https://blog.csdn.net/Tiandailan/article/details/132719745?spm1001.2014.3001.5506Mouse Functions:left-cl…...

Visual Studio(VS)C++项目 管理第三方依赖库和目录设置

发现很多程序员存在这种做法&#xff1a;把项目依赖的第三方库的lib和dll放在项目目录下&#xff0c;或者复制到输出目录&#xff0c;因为每种配置都有不同的输出目录&#xff0c;所以要复制多份&#xff08;至少包括Debug和Release两个输出目录&#xff09;&#xff0c;这些做…...

leetCode 2578. 最小和分割 + 排序 + 贪心 + 奇偶分组(构造最优解)

2578. 最小和分割 - 力扣&#xff08;LeetCode&#xff09; 给你一个正整数 num &#xff0c;请你将它分割成两个非负整数 num1 和 num2 &#xff0c;满足&#xff1a; num1 和 num2 直接连起来&#xff0c;得到 num 各数位的一个排列。 换句话说&#xff0c;num1 和 num2 中所…...

自定义实现图片裁剪

要实现这个功能&#xff0c;首先需要创建一个自定义的View&#xff0c;然后在该View中绘制背景框和裁剪后的图片。以下是一个简单的实现&#xff1a; 1. 创建一个名为CustomImageView的自定义View类&#xff0c;继承自View&#xff1a; import android.content.Context; impor…...

开发语言工具编程系统化教程入门和初级专辑课程上线

开发语言工具编程系统化教程入门和初级专辑课程上线 学习编程捷径&#xff1a;&#xff08;不论是正在学习编程的大学生&#xff0c;还是IT人士或者是编程爱好者&#xff0c;在学习编程的过程中用正确的学习方法 可以达到事半功倍的效果。对于初学者&#xff0c;可以通过下面…...

【Truffle】二、自定义合约测试

一、准备测试 上期我们自己安装部署了truffle&#xff0c;并且体验了测试用例的整个测试流程&#xff0c;实际开发中&#xff0c;我们可以对自己的合约进行测试。 我们首先先明白自定义合约测试需要几个文件 合约文件&#xff1a;既然要测试合约&#xff0c;肯定要有合约的源码…...

场景交易额超40亿,海尔智家三翼鸟开始收获

文 | 螳螂观察 作者 | 余一 随着双十一的到来&#xff0c;国内的消费情绪再次被点燃。在这类大促之下&#xff0c;品牌们就像一个个天体&#xff0c;不断引动着市场潮汐&#xff0c;期待自己能触发更大的“海潮效应”。 所谓“海潮效应”是指&#xff0c;海水因天体的引力而…...

众和策略可靠吗?股票扛杆怎么玩?

可靠 股票扛杆是一种出资战略&#xff0c;经过假贷资金来增加出资金额&#xff0c;从而进步出资收益。这种战略在股票商场中被广泛运用&#xff0c;但一起也伴随着一定的危险。在本文中&#xff0c;咱们将从多个视点来剖析股票扛杆怎么玩。 首要&#xff0c;扛杆出资的原理是…...

解决连接Mysql出现ERROR 2013 (HY000): Lost connection to MySQL server at ‘waiting

在上一篇中解决Mysql ER_ACCESS_DENIED_ERROR: Access denied for user ‘root‘‘localhost‘ (using password: YES)-CSDN博客 写了mysql的密码报错问题&#xff0c;在执行 mysql -u root -p 出现了这个错误&#xff0c; ERROR 2013 (HY000): Lost connection to MySQL se…...

Hadoop YARN功能介绍--资源管理、调度任务

Hadoop YRAN介绍 YARN是一个通用资源管理系统平台和调度平台&#xff0c;可为上层应用提供统一的资源管理和 调度。 他的引入为集群在利用率、资源统一管理和数据共享等方面带来了好处。 1.资源管理系统 集群的硬件资源&#xff0c;和程序运行无关&#xff0c;比如内存、cu…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...