飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

如何降低架构复杂性,保障全球 900 万用户安全可靠投资? | 案例故事之老虎国际 x  TiDB

  • 2023-04-12
    北京
  • 本文字数:2383 字

    阅读完需:约 8 分钟

如何降低架构复杂性,保障全球900万用户安全可靠投资? | 案例故事之老虎国际 x  TiDB

券商是一个古老的行业,发展至今已经历了三个时代:第一代券商为传统券商,在线下交易大厅进行买卖;第二代券商开始了电子化进程,从线下到线上进行了浅层服务的转移,改善了用户体验,提高了金融服务的效率;第三代券商更多强调“科技赋能”,在功能业务上更创新、更多样,且存在完整的互联网基因,业务依靠线上平台,拥有底层自研能力,如交易、风控等系统。

 

老虎国际作为第三代券商的代表,是一家全球知名的国际化券商,在新加坡、美国、中国香港、澳大利亚等地持有 59 张牌照或资质,在全球多地展业。投资者在老虎国际可通过一个账户交易美股、港股、A 股(沪港通/深港通)、星股(新加坡股)、澳股(澳大利亚股)、期货、基金等全球主要市场的金融产品,享受一流的投资体验。

 

老虎国际自主研发的交易平台 TigerTrade,累计交易规模在三年内突破 10000 亿人民币,创下互联网券商冲击万亿交易规模最短用时。2019 年 3 月,老虎国际在美国纳斯达克挂牌上市,目前拥有全球近 900 万用户,年交易规模超 2000 亿美元。

业务挑战


作为一家全球化的券商,每个国家证券行业发展情况不同,数据合规要求也存在差异,比如新加坡有 PDPA,欧盟有 GDPR,美国有 CCPA 等,甚至不同国家业务特点也大为迥异。在每个国家/地区都本地部署业务系统显然并不现实,老虎国际采用跨地区的混合云架构为全球用户提供支撑,解决在数据架构、数据安全、数据合规等方面所面临的的全球挑战。

 

同时,老虎国际的数据架构复杂度非常高,底层系统包含 Java、Python、Go 等不同的语言,中间件、数据库、大数据等都是异构场景,导致维护成本和研发效能都大打折扣。

 

此外,在老虎国际证券业务发展过程中,业务波动性是常态,这也使得其核心业务--后台账本系统,经常面临数据库的性能挑战。后台账本是用户在老虎国际参与证券交易时,如产品购买、出入金、IPO 打新、公司行动、被收费等各个业务版块,针对用户行为明细数据记录的系统。账本每天需要记录大量的用户流水,并根据用户行为生成用户每日账单。如果账本出现问题,直接关系到用户体验和投资收入。

 

2020 年 3 月,美股遭遇了前所未有的震荡,开盘即暴跌,触发一级熔断机制,暂停交易 15 分钟。老虎国际的数据库也经历了前所未有的数据查询量,查询数量曲线呈指数级增长,原有的 MySQL 遇到了极大瓶颈。证券交易还要求数据库具有金融级数据强一致性,并具备灾备能力,一旦某个机房宕机,另一个机房可以立刻启用。

 

数据安全性、数据可用性和数据架构复杂度成为老虎国际国际化业务的三大挑战。出于对开源技术的信任和认同,老虎国际很早就在数据中台业务中应用了 TiDB 3.0 版本,此后一路升级到 TiDB 5.0,解决了业务挑战与数据安全挑战。

 

后台账本数据库迁移

 

老虎国际的后台账本底层数据架构由多套集群组成,单集群数据量接近 2TB,MySQL 数据库虽然具有较好的稳定性和负载能力,但为了应对不断增长的数据量只能采取分库分表方案,难以保证跨分片的事务一致性,跨库的 Join 关联查询性能较差,数据库多次扩展难度和维护量极大。2021 年,老虎国际的运维与研发团队对主流的冷热数据分离、分库分表、分布式数据库等方案进行选型与性能压测。在压测中,TiDB 在 P95 延迟、TPS 事务指标、QPS 等方面整体性能都强于 MySQL,并且 TiDB 的性能可以随着节点水平扩展线性提升,解决性能和单机资源瓶颈问题。压测增强了老虎国际技术团队的信心,最终决定将后台账本的 MySQL 集群也迁移到分布式数据库 TiDB 上。




由于 TiDB 拥有非常丰富的生态组件,整个迁移过程十分顺利。为了保障业务稳定,老虎国际采用了新旧数据库同时写入的方式,通过 DM 将 MySQL 数据同步至 TiDB 集群,逐渐切换一部分读流量到 TiDB,整个迁移历经近 3 个月,最终全部切换到 TiDB。同时,老虎国际也制定了“逃生方案”,通过 TiCDC 将数据同步到下游的一个 MySQL 集群,一旦发现 TiDB 有问题可以随时切换。在经过半年多业务的考验后,最终技术团队将该 MySQL 集群关闭。



由于不同国家对于监管、数据可用性,以及 SLA(服务级别协议)要求非常高。在同城,老虎国际还利用 TiDB 的灾备架构,通过 TiCDC 在灾备机房部署了一个 TiDB 集群作为灾备方案,当主机房发生故障时,服务器负载均衡自动切换到备用机房,保证数据服务高可用,整体延迟达到分钟级甚至更低。

 

为什么选择 TiDB?

 

对于券商而言,数据处理速度与成本是紧密相关的。MySQL 的分库分表维护成本较高,对业务的限制也比较多。而 TiDB 的分布式架构无需分库分表,大大简化技术栈,降低了运维难度,通过在线水平扩展有效解决底层数据存储扩容难题;TiDB 的金融级高可用特性,可靠的灾备、数据恢复方案保障了老虎国际证券业务稳定运行;同时,TiDB 高度兼容 MySQL,有着成熟的 MySQL 迁移方案,研发侧大部分代码无需改动,即可顺利完成整个迁移工作,大大降低迁移成本。

 

业务收益

 

现在,老虎国际的数据架构整体可以分为三部分:第一,将分布在各业务系统甚至 APP 内的数据进行收集;第二,进行数据处理;第三,将数据持久化存储。非敏感数据通过 DM 和 CDC 快速同步到 TiDB,敏感数据通过 Flink 进行脱敏后输入 TiDB,利用 TiDB HTAP 的能力构建数据中台和实时数仓,既保证 OLAP 查询时系统的稳定性,又保证 OLTP 的快速分析,两者同时存在又保证隔离,兼顾安全和稳定。最后,老虎国际还将 TiDB 作为类似数据湖的概念提供数据源给下游的 HDFS 使用,对外提供更多数据服务。



从前,老虎国际的数仓只能满足 T+1 的数据分析,通过 TiDB ,老虎国际实现了实时同步、实时分析,将延迟降低到了 5 秒钟;同时,TiDB 的性能实现了比较快的数据接入,之前 Hbase 中只有 4,000+ 表,TiDB 目前已经达到 80,000+ 表;此外,使用 TiDB 后,老虎国际将数据的全量同步变成增量同步,极大减少了网络带宽压力。 TiDB 统一了两个大数据分析场景,提升了易用性,并节省了 40% 的资源,实现了降本增效。

2023-04-12 10:114084
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 554.4 次阅读, 收获喜欢 1978 次。

关注

评论

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

this与super关键字(阿里巴巴面试竟然问道这个了……今天把它盘透彻了!

Java 程序员 后端

Ubuntu16安装Nvidia驱动(GTX1060显卡)

Java 程序员 后端

Win10安装Tomcat服务器与配置环境变量

Java 程序员 后端

YGC问题排查,又让我涨姿势了!

Java 程序员 后端

全面通透深入剖析工厂方法模式

Tom弹架构

Java 架构 设计模式

TCP面试相关总结

Java 程序员 后端

Tomcat 多端口,多虚拟主机配置方法

Java 程序员 后端

volatile关键字的原理和要避免的误区

Java 程序员 后端

WPF学习——依赖项属性(2)(1)

Java 程序员 后端

营口市广东商会成立

江湖老铁

ZooKeeper分布式配置——看这篇就够了

Java 程序员 后端

Zookeeper(从7个方面来了解Zookeeper基础概念)

Java 程序员 后端

TLS加密远程连接Docker

Java 程序员 后端

windows7 本地搭建ELK 收集项目运行日志

Java 程序员 后端

WPF学习——依赖项属性(1)

Java 程序员 后端

智能边缘框架Baetyl,为各行业落地实践提供安全机制

百度大脑

人工智能 百度

架构实战营-模块三作业

随风King

「架构实战营」

Android技术分享| 【自习室】自定义View代替通知动画(2)

anyRTC开发者

android 音视频 WebRTC 移动开发 自定义view

两强联手,百度智能云和中电互联打造自主可控工业互联网联合实验室

百度大脑

人工智能 百度

windows 下JDK12的安装过程

Java 程序员 后端

Worktile、Teambition与Tower项目管理软件对比

Java 程序员 后端

WPF学习——依赖项属性(2)

Java 程序员 后端

T-SQL——数据透视和逆透视

Java 程序员 后端

tomcat的maxThreads、acceptCount,对高并发的影响

Java 程序员 后端

ZK(ZooKeeper)分布式锁实现

Java 程序员 后端

基于Fiber的React Diff算法源码分析

贝壳大前端技术团队

Fiber React Diff

Vim,人类史上最好用的文本编辑器!从此以后你就是一个善良的极客!

Java 程序员 后端

Volatile:内存屏障原理应该没有比这篇文章讲的更清楚了

Java 程序员 后端

Tomcat性能调优

Java 程序员 后端

官宣!Apache ShardingSphere 5.0.0 正式发布

SphereEx

Java 数据库 Apache ShardingSphere

Vue学习之基础入门

Java 程序员 后端

如何降低架构复杂性,保障全球900万用户安全可靠投资? | 案例故事之老虎国际 x  TiDB_开源_TiDB技术团队_InfoQ精选文章