首页 > 其他分享 >金融行业多端支付系统强一致性架构设计(上)

金融行业多端支付系统强一致性架构设计(上)

时间:2024-02-04 20:04:18浏览次数:26  
标签:架构设计 多端 架构 平台 系统 业务 支付 一致性 退款

到家业务。负责交易系统(提单、支付)以及基础系统(Api网关、定位、地址)等开发工作,通过深入到业务,搭建合理的业务架构。目前主攻降低软件复杂性设计、构建高可用系统方向。

0 前言

线下现金交易,可能抹个零头、少几毛几块都问题不大,但平台上的准确性、一致性,是支付系统的首要指标。

互联网公司,“快”是核心必要指标,特别是以实时性需求的o2o(Online To Offline)电商,整个订单生命周期不到1h,若支付延迟几min,履约质量就会下降,甚至劝退用户!

所以架构整体层面上,在保证系统的安全稳定性同时,要尽可能保证系统高性能运转,解决互联网的“快”和金融行业的“稳”的矛盾。

大纲

  • 一、支付平台整体能力介绍
  • 二、如何安全保障金额正确性
  • 三、高可用架构的一些实践及思路

1 支付平台整体能力介绍

1.1 支付平台的整体架构

支付系统功能架构图:

金融行业多端支付系统强一致性架构设计(上)_支付平台

作为平台系统,应具备:产品通用能力、个性化可配置。目前接入支付平台有几十条业务线,根据不同业务形态,提供的支付产品:

  • 收银台(具备多种支付能力)
  • 直连支付(直接唤醒支付场景)
  • 代扣服务(周期性扣款)
  • 代付(好友代付等)
  • 协议支付(便快捷支付、免密支付等)

支付系统核心功能:支付和退款。

如预售场景,为业务线提供定金支付这种2阶段支付能力(如定金支付);退款主要是全款、部分退款、以及提供人工退款服务。

提供支付营销能力,进一步提升支付转化,如根据用户所属区域进行支付引流,支付券产品、免息产品、满减等。

在开发定金、和营销产品之前,支付系统被设计为一个订单,在产品形态上很单一,仅认为订单为固定金额,因此开发这两个需求的时候改动大。

目前主流支付能力大概有多阶段支付、大额支付场景、组合支付、支付参与营销等能力,所以有开发支付系统需求的同学,在最开始最好提前预留一些设计。

接入所有主流支付方式(微信支付、支付宝、京东支付、京东白条等),尤其是现在各类小程序当道,各业务线都需要支持在不同小程序中发展业务,但受平台支付方式限制,就要接入更多支付方式,例如百度支付、头条支付等,都要接入。

当业务被嵌入到各种各样的流量渠道入口,我们也要根据不同的渠道支持不同的支付方式,如App支付、H5支付、刷脸支付等。

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都国企技术专家兼架构,多家大厂后端一线研发经验,各大技术社区头部专家博主,编程严选网创始人。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

参考:

标签:架构设计,多端,架构,平台,系统,业务,支付,一致性,退款
From: https://blog.51cto.com/JavaEdge/9593186

相关文章

  • 基于binlog+Canal+Redis 数据一致性
    基于binlog+Canal+Redis方案是一种解决分布式缓存和数据库之间数据一致性问题的方法,它通过MySQL的binlog和Canal机制,实现数据同步到Redis缓存,以保证数据一致性。   . MySQL主备复制原理 2.MySQL中binlog配置 3.Canal工作原理、安装、配置、使用 4.SpringBoot......
  • 新零售SaaS架构:促销系统架构设计
    促销业务概述什么是促销?促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多。促销的方法有很多种,比如,价格优惠、赠品、优惠券、折扣、买一赠一等形式。特别是在新零售行业,促销更加重要,由于新零售是线上和线下结合的,顾客可以在线上看......
  • 把git当作一个小型最终一致性的 json 数据库
    这几天写了一些有趣的代码:把git当作json数据库。做法是这样的:创建一个git仓库为每个最小粒度的数据创建一个独立的json文件({table}.json)客户端通过Python写git操作代码,实现几个数据库操作接口。数据库操作接口最小集:初始化:把git仓库拉下来(这个后面可以优化为只拉取指......
  • 项目整体架构设计,技术选型:架构师要通盘考虑项目技术
    技术选型:架构师要通盘考虑项目技术1 用户层 H5、Vue.js、ElementUI、apacheecharts(展示图表)等技术。而在构建移动端应用时,我们会使用到微信小程序。2 网关层 Http服务器,部署静态资源,访问性能高。在Nginx中还有两个比较重要的作用:反向代理和负载均衡3 应用层 SpringBoot:快......
  • 构建外卖跑腿系统:技术实现与架构设计
    在当今数字化时代,外卖跑腿系统已成为人们生活中不可或缺的一部分。本文将探讨如何利用先进的技术和架构设计,开发一个高效、可靠的外卖跑腿系统。1.技术选型在开发外卖跑腿系统之前,我们需要仔细选择适合的技术栈,以确保系统的稳定性和扩展性。后端开发:使用Node.js、Express框架作为......
  • Midjourney人物一致性探索
    原图a25yearsoldmaleinancientChineserobewithblackbigbackhairandsmalleyesandnormalnoseandsmallmouthandasmallface垫图https://s.mj.run/gBMdKDa7UJo,a25yearsoldmaleinancientChineserobewithblackbigbackhairandsmalle......
  • 深入理解 Flink(一)Flink 架构设计原理
    大数据分布式计算引擎设计实现剖析MapReduceMapReduce执行引擎解析MapReduce的组件设计实现图Spark执行引擎解析Spark相比于RM的真正优势的地方在哪里:(Simple、Fast、Scalable、Unified)DAG引擎中间计算结果可以进行内存持久化基于内存计算(不完全对,确切地说是把数据都加载(从内......
  • 面试官:如何保证本地缓存的一致性?
    有人可能看到“本地缓存”这四个字就会觉得不屑,“哼,现在谁还用本地缓存?直接用分布式缓存不就完了嘛”。然而,这就像你有一辆超级豪华的房车一样,虽然它空间很大,设备很全,但你去市中心的时候,依然会开小轿车一样,为啥?好停车啊!所以,不同的缓存类型是有不同得使用场景的。并且,为了防止缓存雪......
  • dma 和 cache的一致性
    CPU写内存的时候有两种方式:1.writethrough:CPU直接写内存,不经过cache。2.writeback:CPU只写到cache中。cache的硬件使用LRU算法将cache里面的内容替换到内存。通常是这种方式。 我们假设MEM里面有一块红色的区域,并且CPU读过它,于是红色区域也进CACHE: 但是,假设现在DMA把......
  • 《微服务架构设计模式》PDF
    成功地开发基于微服务架构的应用软件,需要掌握一系列全新的架构思想和实践。在这本独特的书籍中,微服务架构的先驱、Java开发者社区的意见领袖ChrisRichardson收集、分类并解释了44个架构设计模式,这些模式用来解决诸如服务拆分、事务管理、查询和跨服务通信等难题。本书将教......