TiDB 帮助万达网络科技集团实现高性能高质量的实时风控平台

作者 | 陈新江 万达网络科技集团大数据中心

万达网络科技集团 是中国唯一的实业+互联网大型开放型平台公司,拥有飞凡信息、快钱支付、征信、网络信贷、大数据等公司,运用大数据、云计算、人工智能、场景应用等技术为实体产业实现数字化升级,为消费者提供生活圈的全新消费服务。

万达网络科技集团的技术团队,建设和维护着一套实时风控平台。这套实时风控平台,承担着各种关键交易的在线风控数据的写入和查询服务。实时风控平台后端的数据库系统在高性能,可靠性,可扩展性上有很高的要求,并且需要满足如下核心功能和业务要求:

  1. 风控相关业务数据实时入库
  2. 实时风控规则计算
  3. 通过 BI 工具分析风控历史数据
  4. ETL 入库到 Hadoop 数据仓库
  5. 应用开发侧需要兼容 MySQL,降低应用改造门槛为实现上述业务目标,万达网络科技集团的技术团队在实时风控数据库选型的早期阶段,首先选择了 MySQL Galera Cluster 作为数据库集群的技术架构。这套 MySQL 数据库架构通过不同于 MySQL 主流复制技术的复制机制,实现在多个 MySQL 节点间建立强同步关系,实现数据的副本和高可用。但经过业务实践,发现这套方案有诸多问题,其中比较突出的有以下几点:
    万达的技术团队还考察了市场上用的比较多的 MySQL 主从复制以及通过 MySQL Proxy 中间件实现分库分表的方案。但这些方案,无论是高可用安全性,强一致性,还是对业务应用所需要的复杂事务/JOIN 操作以及横向扩展能力上,都无法满足实时风控平台的业务要求。这些问题集中反映在以下几个方面:最终万达的技术团队,通过评估验证,选择了 TiDB 帮助他们实现一个高性能,高可靠性和高扩展能力的实时风控平台后台数据库系统。
    TiDB 产品和技术方案对业务需求的支持和助力效果,集中表现在:
  6. MySQL Galera Cluster 自身的强同步机制以大幅度降低集群整体性能为代价,集群整体性能比单节点 MySQL 还差。所以不能很好的满足“风控相关业务数据实时入库”的业务需求。
  7. 同时,MySQL Galera Cluster 的 JOIN 支持非常弱,不足以支持 BI 相关的复杂分析。
  8. 集群整体性能的短板加上对 JOIN 支持的薄弱,使得要在业务上实现大并发高性能的风控规则计算变的很困难。
  9. 基于 MySQL 主从复制方式的高可用方案,容易出现诸如接入层脑裂和数据不一致的风险。
  10. 基于 MySQL Proxy 中间件的方案,缺少对分库分表后的跨库跨表的分布式事务支持以及对复杂JOIN 的良好支持,因此也无法满足业务上风控规则实时计算和复杂查询的需求以及对业务团队的 BI 需求的支持。
  11. 基于 MySQL Proxy 中间件的方案需要业务代码的开发妥协,需要显式设计和指定分库分表的切分规则和路由配置,开发改造和运维成本显著增高。
  12. 在实时风控平台的高并发高性能的对外服务过程中,在线灵活扩容的相关工作在 MySQL Proxy 中间件架构中无法高效和可靠的实施。
  13. 借助 TiDB 的分布式计算和存储引擎,集群对外服务的处理能力大大增强,高并发实时的风控规则计算能够轻松的处理完,相比较原来的 MySQL Galera Cluster 方案,单位处理性能提升了数倍。并且数据库集群获得了线性提升和扩展的能力。
  14. 集群整体 QPS(万级起)和 Latency (毫秒级) 对风控的实时性要求做出了技术保证。
  15. 无需考虑分库分表,对业务应用透明无侵入,应用开发和维护变得直观且简单。业务相关数据量规模和请求即便高速增长,也无需担心应用的复杂调整和运维的风险。
  16. TiDB 针对分布式事务和强一致性的完善设计以及对各种 JOIN 模式的支持,使得实时风控类和 BI 分析类的业务应用能够高效运行。

这套实时风控平台,借助于 TiDB 的可靠性架构和高性能分布式处理能力,在业务生产环境已经稳定运行超过半年,期间经历过环境问题导致的故障,经历过诸如 “618” 高并发、大流量活动的严格考验。

万达网络科技集团大数据中心技术专家陈新江表示:"TiDB 的表现让万达的技术团队有了信心,接下来将在 TiDB 的基础上,根据业务特点,拓展应用规模,增加诸如 TiSpark 复杂计算组件,整合 CDC 工具以提升 ETL 实时性以及增强 TiDB 运维管理能力等多项架构和技术演进工作,继续在万达的核心业务架构中发挥重要作用。"

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Kirito的技术分享

以Dubbo为例,聊聊如何为开源项目做贡献

Github 上有众多优秀的开源项目,大多数 IT 从业者将其当做了予取予求的工具库,遇到什么需求,先去 Github 搜一把,但有没有想过有一天自己也可以给开...

963
来自专栏ytkah

多客服功能终于也向所有微信认证的订阅号开放了

  多客服功能支持多人同时为一个公众号提供客服服务,经过半年多仅对认证服务号开放后,现在终于也向所有微信认证的订阅号开放了,所有微信认证的服务号和订阅号可以在“...

3386
来自专栏Linux Python 加油站

揭秘Linux工程师一路走来都需要哪些技能

大公司也是从小公司一步步走过来的,而大公司之所以与小公司不同,不在于基础的技术体系不同,而是当数据量达到一定程度后,引发的质变而已。而在思考质变带来的性能问题中...

934
来自专栏纯洁的微笑

为什么我会被 Kubernetes “洗脑”?

1144
来自专栏软件测试经验与教训

客户端流畅度测试

34710
来自专栏我是极客人

【译】AWS Fargate很好吗,我为什么要用它?

当亚马逊在2017年底的AWS re:Invent大会上和EKS一起宣布 Fargate的时候,它还备受冷落,当时我所关注的博客和大佬只是轻描淡写地说:

1462
来自专栏北京马哥教育

Docker Swarm 已死,Kubernetes 永生

转载声明:本文转载自「EAWorld」,搜索「eaworld」即可关注。 原文标题:The Gravity of Kubernetes 原文作者:Jeff M...

1.7K12
来自专栏技术翻译

3个适合初学者的物联网框架

截至2016年,有超过300个物联网平台可供选择,集成物联网解决方案的成本飙升,不断增长的IP地址设备网络使我们能够连接到天空中的大数据云。根据物联网分析师的预...

783
来自专栏EAWorld

说说K8S是怎么来的,又是怎么没的

原文标题:The Gravity of Kubernetes 原文作者:Jeff Meyerson 普元云计算架构师宋潇男点评: Kubernetes已在容器...

3476
来自专栏51CTO技术栈的专栏

IT运维如何防止陷入“中年油腻”和频繁被动地打“遭遇战”?

近期,我拜访了一家文化传播公司的 IT 运维总监 Tim,他向我讲述了他的团队是如何像当年玩《大航海时代》那样将 IT 系统的战舰越造越大,并使之在企业运营的海...

1500

扫码关注云+社区