[PingCAP Meetup SH 5.26]TiDB在Ping++金融聚合支付下的实践0526
TiDB在⾦金金融聚合⽀支付业务的实践 个⼈人简介 • 宋涛 • Ping++ DBA • 负责Ping++数据库相关⼯工作、数据库⾃自动化运维建设 TiDB在Ping++⾦金金融聚合⽀支付业务的实践 • TiDB在Ping++的应⽤用场景分析 - OLAP:saas服务下实时数仓的⽀支撑 - HTAP:基于TiDB Docker的聚合⽀支付私有化部署⽅方案 • ⾃自动failover的⾼高可⽤用 场景⼆二:聚合⽀支付私有化部署⽅方案 服务私有化部署的数据库要求: • 脱离云产品:DRDS • oltp+olap • 海海量量交易易下的单表性能:分库分表? • ⾼高可⽤用:MHA?Innodb Cluster? • 监控、运维⽅方式简单⾼高效 场景⼆二:聚合⽀支付私有化部署⽅方案 基于TiDB Docker的HTAP⼀一站式⽅方案0 码力 | 11 页 | 630.95 KB | 5 月前3领域驱动设计&中台/金融支付系统的改造之路
0 码力 | 28 页 | 560.52 KB | 1 年前3领域驱动设计&中台/可视化的遗留系统微服务改造
⼈人员,架构师,测试⼈人员等关键⻆角⾊色都 要参与其中 ‣开放空间:有⾜足够的空间可以将事件流 可视化,让⼈人们可以交互讨论 ‣彩⾊色即时贴:⾄至少三种颜⾊色 活动准备 寻找领域事件 事件⻛风暴暴 命令⻛风暴暴 寻找聚合 划分限界上下⽂文 什什么是事件? 为什什么⽤用事件? 如何进⾏行行事件⻛风暴暴? 事件:领域专家关⼼心的,在业务上真实 发⽣生的事 例例1: 客户订单已提交 例例2: 对账已完成,每⽉月末夜间触发 域专家和⼯工作坊参与者⼀一起明确在业务上究 竟是什什么领域模型发⽣生了了什什么改变,最终的 软件系统需要关注业务过程中发⽣生的业务数 据的变化。 事件⻛风暴暴示例例 订单 已创建 订单 已⽀支付 商城库存 已扣减 仓库库存 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 已增加 商品已 编辑 退货单已 创建 退货单已 审核 订单已 退货 ⼊入库单 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 寻找命令 事件⻛风暴暴 命令⻛风暴暴 寻找聚合 什什么是命令? 为什什么⽤用命令? 如何进⾏行行命令⻛风暴暴? 命令:什什么活动产⽣生了了事件 例例1: 提交客户订单 例例2: 启动夜间对账 事件是业务上的输出,命令是业务 上的输⼊入。命令以及相应⻆角⾊色可以0 码力 | 54 页 | 3.85 MB | 1 年前3美团点评2018技术年货
美团服务体验平台对接业务数据的最佳实践-海盗中间件 167 ...................................................................... 美团点评智能支付核心交易系统的可用性实践 176 ...................................................................... 卫星系统——酒店后端全链路日志收集工具介绍 亿,存储消息量近 400TB,高峰期集群 QPS 达 650万/秒。 面对流量的成倍增长,CAT 在通信、计算、存储方面都遇到了前所未有的挑战。整个系统架构也经历了 一系列的升级和改造,包括消息采样聚合、消息存储、业务多维度指标监控、统一告警等等,项目最终稳 定落地。为公司未来几年内业务流量的稳定增长,打下了坚定的基石。 经过 7 年的持续建设,CAT 也在不断发展,我们也希望更好的回馈社区,将 CAT 3.0 开源发布,支持多语言客户端及多项性能提升 - 美团技术团队 性能提升 性能提升 消息采样聚合 消息采样聚合在客户端应对大流量时起到了至关重要的作用,当采样命中或者内存队列已满时都会经 过采样聚合上报。采样聚合是对消息树拆分归类,利用本地内存做分类统计,将聚合之后的数据进行 上报,减少客户端的消息量以及降低网络开销。 通信协议优化 CAT 客户端与服务端通信协议由自0 码力 | 229 页 | 61.61 MB | 1 年前3告警OnCall事件中心建设方法白皮书
监控(尤其是多云场景下)。 监控系统的重心,通常是采集、存储、可视化、生成告警事件,但通常都不具有完备的事件后续处理能 力。这里说的后续处理主要包括:多渠道分级通知、告警静默、抑制、收敛聚合、降噪、排班、认领升 级、协同闭环处理等等。监控系统或多或少都有一些这方面的能力,但是通常都不完备,而这,正是 PagerDuty FlashDuty 这种产品存在的价值。这些产品都是以 Duty 思路方法和工具实践两个方面分 别进行探讨,下面先行探讨思路方法,看看要解决这些问题和需求,我们有哪些可能的解法。 思路方法篇 告警事件的后续处理:多渠道分级通知、告警静默、抑制、收敛聚合、降噪、排班、认领升级、协同闭环 处理等等。看起来需求很多,最核心的痛点有两个: ● 告警太多,打扰太多 ● 告警疏漏,无法闭环 我们先来看第一个痛点,首先分析一下造成告警太 器查看要高效得多。 如上,是从思路方法层面,对事件的处理做了逻辑讲解。要求所有的监控系统实现这些能力不太现实,而 且会造成一个一个的事件孤岛,所以典型的做法是把所有监控系统生成的事件统一聚合到一个平台来处 理,这就是 OnCall 中心,下面我们以 FlashDuty 来举例,讲解 OnCall 中心的工具实践。 工具实践篇 称手好用的工具是可以大幅提升效率的,同时,好0 码力 | 23 页 | 1.75 MB | 1 年前3领域驱动设计&中台/如何让DDD落地
如何从需求到DDD? 我想要⼀一个电商 平台,我可以在 上⾯面卖东⻄西 ? Event Storming⾥里里缺少了了什什么信息 提交订单的时候 要做什什么检查? 如何添加商品? ⽀支付订单的时候和 ⽀支付宝对接的逻辑 是什什么样的? 魔⻤鬼隐藏在细节之中 今天既然是讲落地,那么就从⼀一个实际需求出发,我们看看 如何把需求拆解成⽤用户故事,然后如何把⽤用户故事转变成领 域故事,最后领域故事⼜又如何变成为代码。 以撤单,查看订单的状态,对订单进⾏行行⽀支付(⽀支付宝)。⽀支付成功后,仓储 管理理员会收到出库请求,进⾏行行配货并发货。同时,买家可以查看物流状态以 及确认收货。 事件⻛风暴暴的结果 事件⻛风暴暴得到的命令和事件就没⽤用了了吗? 订单 已创建 库存 已锁定 提交 订单 ⽤用户 SubmitOrderCommand OrderCreated StockLocked 订单聚合创建订单服务 接收 接收 仓库聚合的事件订阅者 仓库聚合锁定库存服务 发送 LockStockCommand ⽣生成 ⽣生成 接收 ⽣生成 QueryOrderCommand 订单域查询服务 接收 OrderList ⽣生成 需求分析到⽤用户故事 Story6 创建订单 作为⼀一个商城顾客 我可以确定购物⻋车中的商品和数量量,然后提交商品订单 为了了在商城上购买商品 Acceptance0 码力 | 32 页 | 3.25 MB | 1 年前3TiDB 开源分布式关系型数据库
京银行分布式核心系统采用“微服务架构 + 分布式数据库”的建设方案,构建起一套支持高并发、高可用 、可横向扩展的分布式核心系统解决方案。 2018 年起,该分布式核心系统对接网联支付清算平台、银联无卡快捷支付平台、金融服务互联平台、网 贷业务平台等多个核心金融业务场景,实现了将分布式数据库解决方案应用于银行核心类业务场景。 ED [L 上 罗 北京在两地三中心部署 TiDB 集群,采用主从的多活架构,主集群作为生产集群承担日常的生产服务, 主从之间采用 Kafka 同步 Binlog 的形式进行数据同步。 北京银行首先在网联支付清算平台和银联无卡快捷支付系统引入 TiDB 分布式数据库,以便更好地迎接 互联网金融带来的大数据量和高并发的挑战。系统投产之后,已经成功应对两次双十一挑战,2019 年 双十一闫峰的 QPS 达到 7500,是平时 IT 团队进行多次线上的运维操作,包括版本升级、打补丁等,利用TiDB 分布式 数据库的多副本特性实现“运维零中断”的操作。随着系统升级,北京银行的网联业务链,包括上游的手 机银行到网联、银联无卡快捷支付业务中台,到后台的金融日历、查询服务都已经进行了分布式架构的升 级,完成了与TiDB 的对接。 用户收益 北京银行分布式核心系统建设项目荣获 2020 年度亚洲银行家“中国最佳核心银行技术实施"大奖,从四个0 码力 | 58 页 | 9.51 MB | 1 年前3付钱拉金融云系统架构演进和最佳实践
业务模型 BUSINESS MODEL 服务/方案 基础产品 基础支撑 金融云服务 聚合支付 乐享理财 帮你贷 八方数据 … 资金管理 供应链 分期支付 扫码分销 … 基础支付1 SDK支付 扫码支付 分期支付 比特币 银行卡 开户 监控 报表 … 基础支付2 单笔代收 单笔代付 语音支付 余额查询 批量代收 身份鉴权 批量代付 快捷 … 账务 开户 记账 对账 账户托管 数据分析 … 运营后台 用户系统 商户后台 官网 企业网银 个人网银 解决方案 实时监控 业务属性 BUSINESS ATTRIBUTES 实时性、一致性 安全性、中间账户 聚合的复杂性、第三方依赖性 金融系统 The complexity of aggregation, third-party dependency Financial system Security 冷热数据隔离 读写分离 分库分表 容灾 限制 池化 ACK ... 变化 VARIETY adapter oltp db 银行/第三方支付 adapter service1 service2 银行/第三方支付 service3 … adapter service1 service2 service3 … adapter service1 service20 码力 | 35 页 | 6.05 MB | 1 年前3Laravel 6.0 中文文档
Laravel 中文学习资源:https://xueyuanjun.com 125 少数情况下,我们需要解析特定分类下的所有绑定,例如,你正在构 建一个接收多个不同 Report 接口实现的报告聚合器,在注册 完 Report 实现之后,可以通过 tag 方法给它们分配一个标签: $this->app->bind('SpeedReport', function () { // }); URL 不做 CSRF 安全校验 有时候我们需要从 CSRF 保护中间件中排除一些 URL,例如,如果 你使用了第三方支付系统(如支付宝或微信支付)来处理支付并用到 他们提供的回调功能,这时候就需要从 Laravel 的 CSRF 保护中间 件中排除回调处理器路由,因为第三方支付系统并不知道要传什么 token 值给我们定义的路由。 通常我们需要将这种类型的路由放到文件 routes/web 如果这个验证规则验证失败了,将会生成如下错误消息: The credit card number field is required when payment type is cc. 如果你想要替换支付类型值 cc,可以在 validation 语言文件中定 义一个 values 数组来指定自定义的表示值: 'values' => [ 'payment_type' => [ 'cc' =>0 码力 | 1442 页 | 14.66 MB | 1 年前3Laravel 5.6 中文文档
return Storage::disk('s3'); }); 标签 少数情况下,我们需要解析特定分类下的所有绑定,例如,你正在构建一个接收多个不同 Report 接口实现的报告聚合器,在注册完 Report 实现之 后,可以通过 tag 方法给它们分配一个标签: $this->app->bind('SpeedReport', function () { // }); 置该实现。 排除指定 URL 有时候我们需要从 CSRF 保护中间件中排除一些 URL,例如,如果你使用了第三方支付系统(如支付宝或微信支付)来处理支付并用到他们提供的 回调功能,这时候就需要从 Laravel 的 CSRF 保护中间件中排除回调处理器路由,因为第三方支付系统并不知道要传什么 token 值给我们定义的路 由。 通常我们需要将这种类型的路由放到文件 routes/web 中,该文件允许你配置应用的日志通道,因此请务必查看每个可用通道及其配置 项。下面我们就来看看其中某些配置项。 默认情况下,Laravel 使用 stack 通道来记录日志信息,stack 通道被用于聚合多个日志通道到单个通道,更多关于构建 stack 的信息,请查看下面 的文档。 配置通道名称 默认情况下,Monolog 通过与当前环境匹配的「通道名」实例化,例如 production 或 local,要改变这个值,添加0 码力 | 377 页 | 14.56 MB | 1 年前3
共 357 条
- 1
- 2
- 3
- 4
- 5
- 6
- 36