京东金融数据架构实践
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
此位置可放厂商LOGO
京东金融数据架构实践
——支付视角
张磊
提纲此位置可放厂商LOGO
l总体架构概览
l架构平台与组件
l架构方案
高并发支付系统常见问题/矛盾此位置可放厂商LOGO l数据角度
l主数据:会员、配置
l全局依赖,并发查询频次极高
l流水数据:订单
l高并发巨量写入,业务连续性要求
l业务角度
l OLTP:前端事务处理
l要求数据打散,方便并行处理
l OLAP:后台运营查询
l要求数据集中,方便汇总统计
l用户角度
l系统:支付系统自身
l业务推进
l个人:消费者
l个人消费记录查询
l商户:电商平台
l对账
l内部:运营人员
l运营查询
如何支撑高并发支付系统此位置可放厂商LOGO l数据库策略
l空间换时间:拆分、复制
l垂直拆分、水平拆分、读写分离、cache、历史库
l简单可依靠:隔离
l OLTP/OLAP隔离、主业务流程/查询报表隔离
l故障及时恢复:Failover
l业务Failover、主机Failover
数据架构基础平台
此位置可放厂商LOGO
Dbrep(数据复制中心)
Oracle
MySQL
…
关系型数据库
Hbase …
非关系型数据库
CDS
(分库分表中间件)
XA(分布式事务)
Hcenter
(Hbase 数据中心)ES
Dbcm (自动建模审核平台)
Redis
R2M(分布式缓存)
“CDS”是针对混合数据库环境的分布式架构而研发的一款数据库中间件,具备兼容多种数据库类型、接入简单、部署方便和高可用性等特点。
业务应用进程1-M 2-M 3-M
1-S
2-S
3-S
CDS Driver(JDBC)
CDS Server CDS Console
MyDB
扩容
数据迁移
CDS 规则库
DB集群
“Dbrep”实时数据复制平台,通过解析数据库日志方式获取源端变更,并在秒级投送至各订阅目标端,兼容Oracle、MySQL等多种关系型和非关系型数据库。
MySQL
Binlog
Oracle
Redolog
Dbrep-node Dbrep-node
Dbrep-Kafka
Hbase
MySQL
Oracle
业务应用Dbrep-node
映射
转换
合并
Dbrep-Console
Dbrep-consumer
Hcenter
“Hcenter”Hbase数据中心,通过结合Hbase和ES,提供海量数据的实时存储、主键查询和二级索引查询功能,并支持SQL接口形式数据存取,能满足各种前后端使用场景。
Rs1
Rs2
RsN
…
Hmaster
Hbase
…
Elasticsearch
Hcenter-writer
Hcenter-reader
Hcenter-router
Hcenter-sqlparser
RDBMS
JMQ
Dbrep
业务应用
Rowkey 二级索引
“XA”分布式事务,完美结合XA事务和柔性事务,可按需灵活使用。对应用完全透明,功能全面,不存在SQL使用限制,柔性事务性能和数据一致性均能保证可控。
应用(AP)
资源管理器(RM)
事务管理器(TM)
TX
通过事务管理器控制事务
XA
RM API
通过资源管理器操作资源
XA事务:Atomikos
数据库日志
解析日志事务补偿处理
资源管理器(RM)
XA
Plugin
柔性事务
CDS 分布式事务
DB1
支付数据库架构解决方案(一)
此位置可放厂商LOGO
•
主数据
ü对数据一致性要求较
弱,可接受数据延时ü变更量相对较少ü主要为读业务,读取
量很大
•读写分离:CDS •缓存:R2M
会员
配置
读备库
灾备库
CDS
业务应用
写入读取
R2M
•
流水数据ü数据为流水性质
ü两组业务数据间依赖关系弱(流水之间)ü业务写入量大,重要性高,影响可用率•水平拆分:CDS •应用Failover:CDS 交易
支付
账务
金融渠道
风控
POS
DB1DB2DB3
DBn
…
Sharding Failover
CDS
业务应用
History 交易分库集群
拆分
•流水数据ü数据为流水性质ü两组业务数据间依赖
关系弱(流水之间)ü业务写入量大,重要
性高,影响可用率•水平拆分:CDS •应用Failover:CDS