美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

24
大众点评支付渠道网关系统实践 李力@到店综合事业群 201605

Post on 20-Mar-2017

472 views

Category:

Engineering


11 download

TRANSCRIPT

Page 1: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

大众点评支付渠道网关系统实践李力@到店综合事业群 � 201605

Page 2: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

•支付渠道网关业务概况 � 

•支付渠道网关高并发架构演进 � 

•支付渠道网关高并发技术实践 � 

•实践经验总结

目录

Page 3: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

1业务概况

➢O2O交易流程中支付环节 � 

➢O2O支付架构中资金转移角色 � 

➢架构权衡

Page 4: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

O2O交易流程 - 支付环节

O2O用户

访问入口 PC APP M站 微信

业务产品 团购 闪惠 外卖 电影 KTV…

交易订单

收银台

交易处理

支付前台 收款

支付后台

渠道管理

支付银行前置

第三方支付网关银行网关

账务

Page 5: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

O2O支付架构 - 连接用户资金账户

支付宝/微信等第三方支付渠道 招行/建行/微众等银行渠道

PC收银台支付 退款 提现充值

支付产品App收银台 M站收银台

收银台服务 支付工具管理

支付工具映射 支付工具优惠

收单服务

收单前置 支付/退款/充值/提现收单支付优惠

支付优惠服务优惠配置

优惠检索 优惠执行 �  �  �  �  �  �  �  �  �  �  � 

账务服务积分 礼品卡 红包 抵用券 余额 第三方资金

�  � 渠道服务

渠道管理 渠道路由 对账服务支付服务 退款服务 查询服务 转账服务快捷服务

Page 6: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

架构权衡

业务增长与创新

系统稳定与演进

渠道接入敏捷 � - � 让用户自由选择怎么付 � 渠道稳定可用 � - � 让用户付的爽快

Page 7: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

2高并发架构演进

➢业务挑战 � 

➢架构演进 � 

➢现阶段系统架构

Page 8: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

业务挑战

日均交易额3~5KW � 

QPS � 300 � ~500

日均交易额破亿 � QPS � 超过 � 1K

日均交易额近2亿 � QPS � 2~3K � 

渠道接入数量3个 � 

涉及第三方接口10+

渠道接入数量6个 � 

涉及第三方接口30+

渠道接入数量10+ � 

涉及第三方接口80+

Page 9: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

高并发架构演进

99% 99.9% 99.99%

可用性

0.5%

0.3%

0.1%

客诉率

渠道网关系统

application

db

第三方支付渠道

weixin, � alipay, � 

bank � etc.

能用

渠道网关系统

payment

master

第三方支付渠道

weixin, � alipay, � bank � etc.

refund

callback query

job

slave

W/R R

可用

渠道网关系统 第三方支付渠道

weixin, � alipay, � bank � etc.

payment

db

refund

callback

query

job

quickpay

checkaccount

mq

fail-fast monitor

checkaccount

payment

refund

quickpay

api domain

gateway �  � interface

infrastructure(pigeon/cat/swallow/avatar/lion � etc.)

zk hdfs

柔性可用

Page 10: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

现阶段系统架构

Zebra

Swallow

Avatar

Lion

Cat

中间件

Hive

第三方支付、银行

用户体系

依赖服务

安全

支付收单 支付账务 客服交易订单 财务 支付运营后台

接口层

服务层

框架层

支付 退款 查询第三方 � 通知 快捷 对账 Job

异步退款

退款通知

退款查询

正向支付

支付通知

支付查询同步退款 快捷签约

快捷解约

快捷查询

快捷验证对账通知

对账查询

文件下载

业务调度

业务补偿

业务监控

本地缓存

分布式 � 缓存

业务配置

系统配置

业务监控

Cat监控 Log监控

自动容错

渠道接入

持久层Mysql Memcache MQ

Page 11: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

3高并发技术实践

➢技术挑战 � 

➢技术应对

◆ 服务隔离 ◆ 自动容错

◆ 数据分布 ◆ 数据缓存

◆ 数据一致性

◆ 组件重用 ◆ 安全控制

◆ SLA保障

Page 12: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

技术挑战

高可用 强一致

重安全易伸缩

10分钟 � 损失交易额100W

每分钟 � 50+的客诉

支付宝故障影响微信 � 退款业务影响支付业务

支付欺诈 � 高密信息泄漏

高并发

Page 13: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

服务隔离

支付服务

退款服务

查询服务

第三方通知服务

快捷服务

对账服务

微信

支付宝

其他

业务、渠道合理拆分

低重要程度

Page 14: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

自动容错 – 快速失败

Fail-Fast路径

Fail-Fast事务 � 

静态FailFast开关

动态Fail-Fast开关 � 

健康管理 � 

总量 失败量

异常量 超时量

健康统计

HALF_OPEN OPEN

CLOSED健康状态变迁

pass � / � rejectenter

健康状态监听器 � 

listen

Page 15: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

自动容错 – 自动恢复

Page 16: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

自动容错 – 收银台联动

Page 17: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

数据分布

业务服务

Master OperationSlave Slave…

Master OperationSlave Slave…

数据迁移

Page 18: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

数据缓存

少量数据

更新频率低

渠道配置

银行配置 监控配置

本地缓存

定时刷新 � + � 数据变更监听刷新

大量数据

更新频率较高

风控团单黑名单

用户快捷绑卡数量

用户快捷绑卡列表

分布式缓存

1. � 缓存失效 � 2. � 数据更新 � 3. � (主动/异步)重建缓存

Page 19: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

数据一致性

技术

✓ 关联性状态变更事务保证 � 

✓ 支付状态变迁强制性MASTER-RW � 

✓ 核心接口失败(同步+异步)重试 � 

✓ 内部服务API幂等性承诺

流程

✓ 第三方渠道:通知、查询、对账三管齐下 � 

✓ 内部系统之间状态异步消息通知 � 

✓ 多周期、分时段的定时Job补偿 � 

✓ 分业务、分渠道的同步策略

Page 20: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

多渠道组件重用

weixin, � alipay, � bank � etc.第三方支付渠道

Http

Https

Netty

LB Conn � Pool

Sender/Receiver

Retry

HttpReq

HttpsReq

NettyReq

HttpResp

HttpsResp

NettyResp

payment, � refund, � query � etc.

接入框架层

业务领域层

binary � xml � 

json � parser

keystore � truststore � loader

encrypt � decrypt � sign � 

verify � sign

接入高效率

Page 21: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

多层次安全控制

➢ RSA加密 � ➢ MD5、SHA签名 � ➢ HTTPS协议

通信安全

• 敏感信息加密传输 � 

• 重要接口鉴权认证

➢ 高密信息DB物理隔离 � ➢ 高密表、高密字段 � ➢ 敏感信息不落日志 � ➢ 安全权限审计

➢ 支付画像数据上报风控 � ➢ 疑套现团单实时拦截

存储安全

• 高密数据物理隔离 � 

• 敏感信息加密存储

风控安全

• 异常流量及时上报 � 

• 高危交易安全拦截

Page 22: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

全方位SLA保障

SLA保障体系

日常运行

灰度分流

Nginx

Venus

MQ DB

全链路监控

Cat

End � - � to � - � End

Zabbix

Logscan

规范发布

Code � Review

Test

Pub � / � rollback

事前预案

DB � 集群

Cache集群

MQ集群

应用集群

服务不可用

关闭 自动降级/恢复

收银台联动

演练

事中把控

2分钟

5分钟

3分钟

邮件 短信 微信

平台

应用

第三方

硬件 网络 中间件

JVM 容器 业务

内部 外部渠道

降级

流控

恢复

服务下线渠道关闭

扩容 限流 路由

回滚 重启

决策

事后复盘

Root � Cause

故障报告

业务完善

流程完善

工具完善

总结

Page 23: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

4实践经验总结

➢大系统小做,复杂系统简单做 � 

➢单点和发布是高可用的敌人 � 

➢高可用性是一个持续构建的目标 � 

➢高可用是整个技术链路(开发+测试+

运维+DBA+产品)集体努力的结果

Page 24: 美团点评技术沙龙07 - 大众点评支付渠道网关系统实践

谢 谢 !