首页>会议文档 >

腾讯 陈宁国 - 腾讯海外计费系统架构演进

page:
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进
腾讯 陈宁国 - 腾讯海外计费系统架构演进

腾讯 陈宁国 - 腾讯海外计费系统架构演进

所属会议:ArchSummit全球架构师峰会北京站2017会议地点:北京


下载

手机看
活动家APP客户端

扫二维码下载
或点击下载
Android iOS

10753次
浏览次数
ArchSummit全球架构师峰会北京站2017所有文档 宜信 张军 - 信贷业务持续创新当中的大数据风控架构_部分1 宜信 张军 - 信贷业务持续创新当中的大数据风控架构_部分2 翼启云 孙鹰 - 守住Fintech这扇门 — 高可用测试平台演进之路 优酷 张云锋 - 优酷广告投放引擎优化实践_部分1 优酷 张云锋 - 优酷广告投放引擎优化实践_部分2 优酷 李玉 - 视频推荐中用户兴趣建模、识别的挑战和解法 郑建军 - PaxosStore:微信高可用、强一致存储系统 知乎 姚钢强 - 知乎 feed 流架构演进 中兴通讯首席架构师 钱煜明 - 打造金融级分布式数据库服务_部分1 中兴 钱煜明 - 打造金融级分布式数据库服务_部分2 诸葛越 - 算法无处不在 转转 张相於 - C2C电商平台推荐系统架构演进 亚马逊 代闻 - Cloud Native 架构的演进之路 亚马逊 郑斌 - 工程师文化与文化中的工程师 腾讯 黄斯亮 - 全民K歌从零到千万在线后台服务的演进之路与黑产对抗 腾讯 王旻 - 腾讯云大规模任务调度系统的架构蜕变 腾讯 闫二辉 - 腾讯企业级消息中间件DevOps实践 王秀刚 - 京东金融多业务集成解决方案 微博 崔建兴 - 微博社交广告系统架构实践 微博 胡忠想 - 微博应对突发热点事件的弹性调度实践 吴惠君 - 实时流系统Heron的异常检测和恢复 清华大学 张宇韬 - 大规模异构网络数据融合 趣店 尹茂君 - 砥砺前行:趣店同城双活高可用架构实践 沈悦时 - 超高密度游戏直播转码架构 滴滴出行平台技术部 王涛 - 滴滴出行跨地域 iOS 构建优化与持续集成 滴滴出行 李培龙 - 滴滴出行海量数据场景下的智能监控与故障定位实践 丁宇 - 阿里巴巴云化架构创新之路 饿了么 胡彪 - 饿了么移动性能可视化之路 付钱拉 石伟 - 从零到一,构建灵活、高性能的金融账务系统 复旦大学 邱锡鹏 - 深度学习在自然语言处理中的应用 瓜子二手车 魏旋 - 机器学习中的人机互动 杭州谐云 苌程 - 容器环境下基于APM的海量日志全链路跟踪分析 恒丰银行 赵宏伟 - 恒丰银行基于大数据技术重塑数据仓库及应用的探索_部分1 恒丰银行 赵宏伟 - 恒丰银行基于大数据技术重塑数据仓库及应用的探索_部分2 恒丰银行 赵宏伟 - 恒丰银行基于大数据技术重塑数据仓库及应用的探索_部分3 京东 李维 - 自动深度语法分析是自然语言应用的核武器 京东 周光 - 京东虚拟业务系统高可用性设计 京东 刘峻桦 - 京东国际独立站系统演进 陆金 卢峻 - 凤凰涅磐:陆金所金融平台的架构大升级 美丽联合 张振华 - 美丽联合容器云平台建设的实战分享 美丽联合 赵懿 - 时尚的产品化和商业化_部分1 美丽联合 赵懿 - 时尚的产品化和商业化_部分2 美团点评 孙业锐 - 美团点评用户行为分析系统的构建与优化 美团点评 梁士兴 - 从分层复用到自动化测试—看美团客户端架构的演变_部分1 美团点评 梁士兴 - 从分层复用到自动化测试—看美团客户端架构的演变_部分2 摩拜 范同祥 - 摩拜国际化架构演进_部分1 摩拜 范同祥 - 摩拜国际化架构演进_部分2 拍拍贷 杨波 - 拍拍贷基础架构的DevOps演进之路 青云 张雁飞 - RadonDB:新一代分布式关系型数据库 滴滴出行 陈宜明 - 滴滴出行平台的高可用实践 百度 牟宇航 - 百度MPP数据仓库Palo开源架构解读与应用 百度 马艳军 - 人工智能驱动的内容生产与分发_部分1 百度 马艳军 - 人工智能驱动的内容生产与分发_部分2 百度 马晋 - 成就成长-工程师团队前进的驱动力 百度 于洋 - PaddlePaddle:Towards a Deep Learning Compiler for the Cloud 北京木仓科技(驾考宝典) 谢呈 - 技术人转身创业的坑和坡 菜鸟网络 朱君标 - 菜鸟技术团队全栈化(开发全栈前端)之路 Reddit 陈晨 - 从Instagram到Reddit,浅谈西方工程师文化和管理 tutorabc 张明 - tutorabc微服务平台架构实践_部分1 tutorabc 张明 - tutorabc微服务平台架构实践_部分2 Yuanchi Ning - UberEats Discovery:Food Recommendation 阿里UC 顾辉 - UC浏览器客户端容器化架构演进 阿里巴巴 吕奇 - 阿里混部技术最佳实践 阿里巴巴 张瓅玶 - 阿里巴巴调度与集群管理系统Sigma 阿里巴巴 林轩 - Pouch和阿里容器技术演进 阿里巴巴 余锋 - MySQL数据库架构的演化观察 阿里巴巴 张佶 - 阿里小蜜中的机器阅读理解技术揭秘_部分1 阿里巴巴 张佶 - 阿里小蜜中的机器阅读理解技术揭秘_部分2 阿里巴巴 张娟 - 弹性容量管理探索 爱奇艺 邢常亮 - 与狼共舞 - 爱奇艺移动业务后台系统架构设计与优化实践 爱因互动 王守崑 - 创业,永远在路上 Tumblr 李北涛 - 相关性反馈在推荐系统中的应用 PayPal 曹若沈 - 高可用低延时的PayPal风控数据平台 TalkingData 宋净超 - 从Kubernetes到Cloud Native——云原生应用之路_部分1 TalkingData 宋净超 - 从Kubernetes到Cloud Native——云原生应用之路_部分2 TalkingData 宋净超 - 从Kubernetes到Cloud Native——云原生应用之路_部分3 58速运 沈剑 - 分还是合?58到家订单中心架构演进 bilibili 王昊 - 技术、产品、管理,选择和平衡 FreeWheel 宋一玮 - FreeWheel在微服务架构下的前端改造实践 FreeWheel 姜冰 - FreeWheel OLAP实践 musical-ly 杜鹏 - musical-ly基于社交关系的Smart Feed架构 OnVideo 刘歧 - 大闹天宫:悟空在FFmpeg社区从入门到出家

文档介绍

腾讯海外业务从2015年起步,经过两年的发展,海外营收初具规模,业务覆盖180+国家地区。为支持腾讯业务出海,支付团队克服了复杂多级网络、本地化、实收率、部署及架构优化等等困难,从无到有建设了一 套面向海外的在线交易系统。本次演讲将分享我们在国际化支付在技术架构实现所面临的挑战及应对。

演讲实录

Midas计费,目前已经接入2000+ APP,60多万家商户,覆盖国内10+和海外40+渠道,托管账户总量200多亿,每日流水稽核500多亿条,基本上涵盖了所有常见的计费模式,如虚拟代币购买、道具、订阅、实物等,是一个全方位的一站式计费平台。
在讨论海外的计费架构演进前,先看下国内在线交易系统的简要架构。

该架构下,计费系统已具有如下能力:
1.整体多地部署,具备跨城容灾能力
2.就近接入,通过GLSB等机制,尽量将用户的请求从邻近公网入口导入计费系统,这可以明显降低用户时耗,提升体验;
3.域内系统自治,存储底层来解决必要的数据跨区域访问问题,如某些风控策略,数据必须全局共享, 底层的透明网关会根据请求信息来就决定是本地访问还是远程访问。在这个机制下,故障时一地区可在短时间内甚至无缝来承载另一地区的全部交易请求,以达成系统的高可用。
计费走向海外国际化,所要面对的首要核心问题就是地域跨度,从下图即2017-12-7日的Midas全球各区域实时支付时耗图就可以看到,内部网络单路径的时耗,经常性约200ms左右,作为对比,深圳到上海的时耗一般都在50ms以内,而实际的请求往往要经历多次路径接力,特别是从用户终端到就近接入点,耗时更久,这对系统流程控制、监控、发布等都有挑战。其次,随着部署地域的增加,不同地区的网络结构,机器软硬件环境,及机器数都会有所限制,譬如在国内, 一整套计费系统一般机器数都在百台以上,而在海外某些地区,出于业务试水等情况,机器可能刚开始只有3~5台, 那么就需要有办法将数百台机器的计费系统缩减到只需3台即可正常运行。还有就是底层存储,需要能实现跨区域数据主动动态迁移。
架构演进之一,整体网络优化。
Midas海外计费,目前主要部署在香港(HK)和加拿大(CA)两大公司自有IDC,及南北美、欧洲、澳洲的AWS,还有部分是合作伙伴机房。在这些区域间,涉及到多级骨干网,二级网络和本地运营商网络,物理路径长,时耗常不稳定,我们通过利用公司全球POP加速点的部署,结合分析海外网络结构特点,建设了8个自营的交易中心入口,并利用智能DNS远程代理方式,来优化如AWS的接入点,最终有效避开了局部经常性的网络异常,加之终端的针对性优化,如预加载,请求合并等,成功将全球17个地区单次通信平均时耗明显降低。
下图是MC的优化前后支付时耗图,可以看到优化后平均单次通信时耗都降到了800ms内。

架构演进之二, 配置、发布及数据处理
针对海外的机房差异性大的特点,我们设计了一套配置的统一推送同步系统,譬如针对合作商网络,布置中间层代理,对于不同地域,将配置打标记做差异化减少网络数据流量,并且实现应用及活动规则等细粒度配置同步,同时,还能实时获得各配置下发的进度及生效情况,最终实现的配置的跨国秒级下发。

针对海外机房众多的问题,还研发了全球发布平台,能根据各地域机房情况采取相应的最优化发布策略,最终实现即时的按需发布。

随着发布地点的增加, 监控和交易数据的实时处理愈发重要,我们构建了一个集中式的数据收集及处理平台,最终实现秒级的全球交易异常告警及数据稽核。

架构演进之三,跟随部署
计费针对海外的机房环境差异及机器数限制,采用了两项策略。
一项解决环境依赖,譬如,对能提供docker类虚拟化容器环境的,构建计费系统的镜像来部署;对不能提供虚拟化容器的,在自有的开发框架层上,直接打包开发环境的runtime,不再依赖部署机器的runtime,同时,还提供这些runtime的hook,使得框架中的app也不再依赖部署机器的runtime。最后,对于app使用的特定库,要求尽量采用静态编译的办法来解依赖。
另一项, 对于机器数量有限制的,采取灵活适配的办法,通过将大的系统模块完全微服务化来达成。微服务化后,每个系统都有一个或多个app组成, 而这些app均可以在统一的框架下运行,这样最少3台机器(考虑存储的需要)就可以部署所需要的全部功能, 并且,微服务化后还使得计费部署能根据场景灵活组合做最佳化适配。细节如下图

架构演进之四,框架与交易引擎
前面讲到要完全微服务化,随着逻辑被分拆,app增多,会面临新的服务治理的问题,一方面是服务间的访问调度,一个是服务内逻辑的可控性。
对于服务调度,我们开发了TDF框架,来实现服务间的动态路由、负载均衡、灰度、引流、流控等管理。
对于服务内逻辑,特别是计费强调高一致事务类的,我们开发了交易引擎 TDXA,通过范式定义来简化XA事务开发,如包括 TCC\ TRY_BEST\DB及几者的混合处理等,实现事务及异常处理的完备;同时引入图形化的流程管理,使得逻辑流程可以通过图检查来确保完备,还可以展示某个请求的处理过程,这使得流程更加清晰化,增强逻辑可维护性。

架构演进之五,跨地域动态迁移
在跨地域情况下,严重的时耗问题使得远程访问代价过大,这时就需要有办法能将远程访问尽量变本地化,下图是我们考虑的策略,根据用户的就近位置来决定数据归属。如对同一个账户表,如果用户位置变动是短暂行为,则仍旧是远程访问原位置数据,如果位置明确变动,则会自动做数据的平滑迁移,即短期的数次远程访问后,会将数据搬到用户新的所在位置,变成快速本地访问,这可以明显降低交易时耗,提升用户付费体验。

经多以上的这些架构调整,最终我们构建了一套全球化的计费系统, 实现如下预定目标:
1.灵活按需部署,按需快速发布、灰度、扩容,并实现高可用
2.多主中心 + 各小中心 + 集中式运营,具体为:
A)自营全球7大机房,外发部署就近8国,覆盖全球主要区域
B)4大POP加速点, 3大远程代理, 单次通信时耗降低到1s内;
C)海外已接入40个渠道,基本涵盖各区域主流渠道
D)业务接入周期从1月降低到3天,实现秒级的发布与异常告警;
E)数据跨地域动态迁移,基本做到全本地化访问,进一步降低付费时耗。
3.我们认为这是目前阶段能达到的较合理的计费体系,线上运行也表明符合预期。

结束语
经过持续建设优化,Midas米大师已成为一套完备的全球性、全场景、一站式整体解决方案。支付的持续发展有赖于付费场景的扩展,Midas欢迎各类业务的洽谈接入与合作。米大师自身也将继续追求技术的突破,不断迭代演化,为各业务营收带来更大的价值。

×

打开微信扫一扫,分享到朋友圈