领域驱动设计&中台/金融支付系统的改造之路
0 码力 | 28 页 | 560.52 KB | 1 年前3[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 月前3Laravel 6.0 中文文档
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' => 等。通知 可以存储在数据库以便后续在 Web 界面中显示。 通常,通知都是很短的、用于告知用户应用中所发生事件的消息。例 如,如果你在开发一个计费应用,则需要通过邮件或短信等渠道给用 户发送“账单支付”通知。 创建通知 在 Laravel 中,每个通知都以单独类的形式存在(通常存放 在 app/Notifications 目录),如果在应用中没看到这个目录,别 担心,它将会在你运行 Artisan0 码力 | 1442 页 | 14.66 MB | 1 年前3付钱拉金融云系统架构演进和最佳实践
BUSINESS MODEL 服务/方案 基础产品 基础支撑 金融云服务 聚合支付 乐享理财 帮你贷 八方数据 … 资金管理 供应链 分期支付 扫码分销 … 基础支付1 SDK支付 扫码支付 分期支付 比特币 银行卡 开户 监控 报表 … 基础支付2 单笔代收 单笔代付 语音支付 余额查询 批量代收 身份鉴权 批量代付 快捷 … 账务 开户 记账 对账 账户托管 冷热数据隔离 读写分离 分库分表 容灾 限制 池化 ACK ... 变化 VARIETY adapter oltp db 银行/第三方支付 adapter service1 service2 银行/第三方支付 service3 … adapter service1 service2 service3 … adapter service1 service2 12.避免系统中出现单点故障,包括中间件和应用程序等所有的节点 13.能异步处理的别同步处理,异步可以释放线程资源,避免阻塞,提高响应效率 14.随着业务量的增加,考虑功能拆分和数据库表拆分,除此支付系统建议按照通道 拆分,不同的通道指定独立的work线程,分而治之,避免相互之间影响;提高并发的一个思路就是拆分, 拆分后通过异步提高并发效率 金融系统最大的成功是部署了一套可靠的、稳定的解决方案,0 码力 | 35 页 | 6.05 MB | 1 年前3美团点评2018技术年货
美团服务体验平台对接业务数据的最佳实践-海盗中间件 167 ...................................................................... 美团点评智能支付核心交易系统的可用性实践 176 ...................................................................... 卫星系统——酒店后端全链路日志收集工具介绍 复存储严重; 同时,工程师需要了解研发流程的整个细节,对研发的时间和精力成本造成浪费。 ③ 数据标准不统一 业务指标繁杂,即使同样的命名,但定义口径也会不一致。例如,支付用户数就有多种定义,由此带来的 问题是,都是支付用户数,应该用哪个?为什么数据都不一样? ④ 业务分析响应能力 即使拥有健壮的数仓模型支撑,但最终能否快速响应多维计算,进行对比分析,同时做到数据可读,都是 对产品交互和服务能力的一种挑战。 本。这里特别感谢服务治理团队的 大力支持。 Tutorial Tutorial 场景:需要根据订单ID查询订单状态和支付状态,但目前没有现成的接口支持该功能,但有两个既有接口 分别是: 接口1:根据订单ID,获取到订单状态和支付流水号 接口2:根据支付流水号获取支付状态 那我们可以对这两个接口进行编排,编写DSL如下: { "tasks": [ { "url":0 码力 | 229 页 | 61.61 MB | 1 年前3TiDB 开源分布式关系型数据库
京银行分布式核心系统采用“微服务架构 + 分布式数据库”的建设方案,构建起一套支持高并发、高可用 、可横向扩展的分布式核心系统解决方案。 2018 年起,该分布式核心系统对接网联支付清算平台、银联无卡快捷支付平台、金融服务互联平台、网 贷业务平台等多个核心金融业务场景,实现了将分布式数据库解决方案应用于银行核心类业务场景。 ED [L 上 罗 北京在两地三中心部署 TiDB 集群,采用主从的多活架构,主集群作为生产集群承担日常的生产服务, 主从之间采用 Kafka 同步 Binlog 的形式进行数据同步。 北京银行首先在网联支付清算平台和银联无卡快捷支付系统引入 TiDB 分布式数据库,以便更好地迎接 互联网金融带来的大数据量和高并发的挑战。系统投产之后,已经成功应对两次双十一挑战,2019 年 双十一闫峰的 QPS 达到 7500,是平时 IT 团队进行多次线上的运维操作,包括版本升级、打补丁等,利用TiDB 分布式 数据库的多副本特性实现“运维零中断”的操作。随着系统升级,北京银行的网联业务链,包括上游的手 机银行到网联、银联无卡快捷支付业务中台,到后台的金融日历、查询服务都已经进行了分布式架构的升 级,完成了与TiDB 的对接。 用户收益 北京银行分布式核心系统建设项目荣获 2020 年度亚洲银行家“中国最佳核心银行技术实施"大奖,从四个0 码力 | 58 页 | 9.51 MB | 1 年前3WeRoBot 0.6.0 微信公众号开发框架文档
Handler 以使用 Session 可用的 Session Storage WeRoBot.Client —— 微信 API 操作类 WeRoBot.pay.WeixinPayClient —— 微信支付 API 操作类 部署 在独立服务器上部署 在SAE上部署 小工具 Token 生成器 Changelog Version 0.6.0 Version 0.5.3 Version 0.5.2 documentation » WeRoBot.pay.WeixinPayClient —— 微 信支付 API 操作类 class werobot.pay.WeixinPayClient(appid, pay_sign_key, pay_partner_id, pay_partner_key) 简化微信支付API操作 create_js_edit_address_param(accesstoken 你能相信这些支付接口都是腾讯出的? create_js_pay_package(**package) 签名 pay package 需要的参数 详情请参考 支付开发文档 Parameters: package – 需要签名的的参数 Returns: 可以使用的packagestr create_js_pay_params(**package) 签名 js 需要的参数 详情请参考 支付开发文档0 码力 | 35 页 | 63.71 KB | 1 年前3WeRoBot 0.6.1 微信公众号开发框架文档
Handler 以使用 Session 可用的 Session Storage WeRoBot.Client —— 微信 API 操作类 WeRoBot.pay.WeixinPayClient —— 微信支付 API 操作类 部署 在独立服务器上部署 在SAE上部署 小工具 Token 生成器 Changelog Version 0.6.1 Version 0.6.0 Version 0.5.3 documentation » WeRoBot.pay.WeixinPayClient —— 微 信支付 API 操作类 class werobot.pay.WeixinPayClient(appid, pay_sign_key, pay_partner_id, pay_partner_key) 简化微信支付API操作 create_js_edit_address_param(accesstoken 你能相信这些支付接口都是腾讯出的? create_js_pay_package(**package) 签名 pay package 需要的参数 详情请参考 支付开发文档 Parameters: package – 需要签名的的参数 Returns: 可以使用的packagestr create_js_pay_params(**package) 签名 js 需要的参数 详情请参考 支付开发文档0 码力 | 35 页 | 64.45 KB | 1 年前3领域驱动设计&中台/可视化的遗留系统微服务改造
域专家和⼯工作坊参与者⼀一起明确在业务上究 竟是什什么领域模型发⽣生了了什什么改变,最终的 软件系统需要关注业务过程中发⽣生的业务数 据的变化。 事件⻛风暴暴示例例 订单 已创建 订单 已⽀支付 商城库存 已扣减 仓库库存 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 们连接; 4. 在这个过程中可以识别出触发命令 的外部系统(粉⾊色即时贴)、persona (⻩黄⾊色即时贴)并进⾏行行表示; 划分限界上下⽂文 命令⻛风暴暴示例例 订单 已创建 订单 已⽀支付 商城库存 已扣减 仓库库存 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 已增加 商品已 编辑 退货单已 创建 退货单已 审核 订单已 退货 ⼊入库单 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 添加 商品 ⽀支付宝 回调 超过1⼩小时 未⽀支付 ⏱ 编辑 商品 产品运 营⼈人员 编辑库存 编辑销售 价格 发布商品 创建订单 扣减库存 创建 出库单 占⽤用库存 发货 扣减库存 发货 收货 撤销订单 增加库存0 码力 | 54 页 | 3.85 MB | 1 年前3Laravel 5.3 中文文档
上有关于此特性的免费视频教程。 Laravel Notifications 为我们提供了简单、优雅的 API 用于在不同的发行渠道中发送通知,例如邮 件、SMS、Slack 等等。例如,你可以定义一个单据已经支付的通知,然后通过邮件和 SMS 发送这 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 4 值和 Session 中存储的 token 是否一致。 2、从 CSRF 保护中排除指定 URL 有时候我们需要从 CSRF 保护中排除一些 URL,例如,如果你使用了 Stripe 来处理支付并用到 他们的 webhook 系统,这时候就需要从 Laravel 的 CSRF 保护中排除 webhook 处理器路由, 因为 Stripe 并不知道要传什么 token 值给我们定义的路由。 等。通知可以存储在数据库以便后续在 web 界面中显示。 通常,通知都是很短的、用于告知用户应用中所发生事件的消息。例如,如果你在开发一个计费 应用,则需要通过邮件或短信等渠道给用户发送“账单支付”通知。 2、创建通知 在 Laravel 中,每个通知都以单独类的形式存在(通常存放在 app/Notifications 目录),如果在应 用中没看到这个目录,别担心,它将会在你运行 Artisan0 码力 | 691 页 | 9.37 MB | 1 年前3
共 255 条
- 1
- 2
- 3
- 4
- 5
- 6
- 26