【技术干货】40页PPT分享万亿级交易量下的支付平台设计(4)

简介: 【技术干货】40页PPT分享万亿级交易量下的支付平台设计(4)

image.png


苏宁金融集团年交易量已过万亿,日均资金流水几十亿,需要保证每一笔交易资金的安全;对这样业务需求极速变化的高并发金融资金系统进行重构,就犹如对发射出去的导弹进行二次加速,任何一个小失误,都可能导致上亿的资损,影响上亿的用户体验;那么在重构过程中,如何保证优雅就非常重要?首先需要确定我们的目标是什么?基于这个目标我们的困难是什么?解决方案是什么?怎么去实施?怎么去演进?怎么去验证?


image.png


基于这个愿景,就要满足两点:快和稳; 第一个是快:我们需要对业务敏捷、快速响应业务的变化;这个也是研发中心的核心使命,能对集团业务能够很好的支撑,甚至是驱动业务的发展;第2个是稳,性能要高(20万TPS、高可用),平时会考核MTTR,出现故障后多久能恢复,10秒、20秒还是一分钟?通过这个指标去牵动其它所有的工作的优化,避免指标太多,工作没有重点,不能聚焦;比如定10个指标,每个指标权重10%,看似面面俱到,其实没有重点;但是系统指标有很多,有成功率,耗时,异常率,各个硬件的使用率等等,作为负责人要找到北极星指标;我们的北极星指标就是MTTR;以及这么多系统能否实现弹性治理


image.png


基于目标,然后识别关键问题,那我们的关键问题有四类:


1、交付速度:基于标准的复用,并行、分布研发;2、高可用:需要分析故障点,建设DB单点/热点防护、自动化运维、服务自愈、应用级灾备能力3、可伸缩:从应用到IDC、服务器、网络,做到全网伸缩;4、低成本:不仅要节流,还要开源,重点是公司盈利和控制资损,通过技术对业务驱动力产生的正向价值,产品运营效果评估,这个也是对团队负责人的一个要求:要善于做技术产品化和技术品牌的运营;


image.png


高可用的重点是故障识别与应对,即对故障源的实时感知和可视化的治理。故障源来源:按照我们的服务模型分三方面:提供的服务、服务本身、依赖服务。提供的服务:故障来源在于请求,比较经常出故障的是:重复请求、并发请求、超量请求。针对每一个请求我们用不同的策略进行处理。外部服务:首先检测通信是否正常,通信正常后服务是否可用,服务可用后响应是否超时,这些都没问题后功能契约SLA是否满足,这样就形成了一个体系化的处理方法,就不会遗漏,也便于团队的知识传承(不论是代码结构设计,还是团队设计思想的统一,都是比较好的)


image.png


对外提供的服务是吞吐量、单资源存储量的上限、响应时间;内部服务:关注DB、数据库总连接数、单数据库每秒事务数、慢SQL;依赖服务:银行实时清算能力、关键服务访问量等;这个是个可伸缩的框架,接下来我们详讲一些关键系统的可伸缩设计,具体是怎么做到的,交易系统、支付引擎系统和账务核心,如何实现可伸缩的。


image.png


首先是交易系统的设计,大维度上,将B、C端拆封开,然后进行读写分离,再对写进行分库分表。这里要特别讲一下分库分表中间件有两个特别的功能:灰度支持和影子库表支持。灰度支持即用来对不同用户,对不同场景,不同功能进行灰度,影子库表主要便于生产压测使用,后面在生产压测部分会详讲;


image.png


支付引擎即支付服务的分库分表策略,按照用户维度进行拆分。这里面有个核心设计,我们设计了一个逻辑数据源,而不是物理数据源,便于迁库,减少DBA的运营成本。


相关文章
|
2月前
|
C语言 C++ Windows
VC++ 2010学习版(64bit)安装与教程(Windows版,含解压+管理员运行+自定义路径)
Microsoft Visual C++ 2010 Express(学习版)是全国计算机二级C/C++考试指定开发环境,专为初学者设计:语法高亮、实时错误提示、界面简洁。含64位安装包、详细图文安装指南及正版注册密钥,助你快速上手编程学习。(239字)
2308 0
|
消息中间件 存储 数据库
RabbitMQ之MQ的可靠性
RabbitMQ之MQ的可靠性
424 0
|
架构师 开发工具 git
项目去除git版本控制 去除版本控制
文章提供了去除本地项目Git版本控制的步骤,包括删除`.git`文件夹和`.idea`目录下的`vcs.xml`文件。
项目去除git版本控制 去除版本控制
|
安全 Android开发 iOS开发
escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
escrcpy 是一款基于 Scrcpy 的开源项目,使用 Electron 构建,提供图形化界面来显示和控制 Android 设备。它支持 USB 和 Wi-Fi 连接,帧率可达 30-120fps,延迟低至 35-70ms,启动迅速且画质清晰。escrcpy 拥有丰富的功能,包括自动化任务、多设备管理、反向网络共享、批量操作等,无需注册账号或广告干扰。适用于游戏直播、办公协作和教育演示等多种场景,是一款轻量级、高性能的 Android 控制工具。
1504 1
|
安全 程序员 Shell
2022渗透测试-命令执行漏洞的详细讲解
渗透测试-命令执行漏洞的详细讲解
2022渗透测试-命令执行漏洞的详细讲解
|
前端开发 JavaScript Java
使用Springboot 2.7+Websocket+js实现服务端消息实时推送
使用Springboot 2.7+Websocket+js实现服务端消息实时推送
使用Springboot 2.7+Websocket+js实现服务端消息实时推送
|
存储 负载均衡 算法
从海量数据中挖出TOP100热词,这个算法太绝了!
小米,一位热爱技术的29岁程序员,今天探讨如何在海量搜索词汇中找出最热的TOP100词汇。面对包含数百亿词汇的大文件,小米介绍了一种实用的方法:通过哈希分流将大文件拆分成小文件,接着利用哈希表统计词频,并运用小根堆选出每个小文件的TOP100词汇。最后通过外排序或再次使用小根堆选出全局TOP100。此外还提出了并行处理、内存优化及数据压缩等优化手段。这一系列技巧能有效应对大数据处理挑战。
434 9
|
SQL Java 数据库连接
MyBatis-Plus快速入门:从安装到第一个Demo
本文将带你从零开始,快速入门 MyBatis-Plus。我们将首先介绍如何安装和配置 MyBatis-Plus,然后通过一个简单的示例演示如何使用它进行数据操作。无论你是 MyBatis 的新手还是希望提升开发效率的老手,本文都将为你提供清晰的指导和实用的技巧。
3435 0
MyBatis-Plus快速入门:从安装到第一个Demo
|
机器学习/深度学习 自然语言处理 API
10-22|处理脏话其他方法
10-22|处理脏话其他方法
|
存储 关系型数据库 API
深入理解后端技术:构建高效、可扩展的服务器端应用
本文将探讨后端开发的核心概念和技术,包括服务器端编程、数据库管理、API设计和安全性等方面。通过深入浅出的方式,让读者了解如何构建高效、可扩展的后端系统。我们将从基本的后端框架开始,逐步深入到高级主题,如微服务架构和容器化部署。无论您是初学者还是有经验的开发人员,都能在本文中找到有价值的信息和实用的建议。

热门文章

最新文章