金融场景下商户回调通知架构思考

简介: 在金融场景API接口,大家都会看到一个特殊的字段,叫做notifyUrl,商户或用户回调链接,这个notifyUrl用户接受异步支付状态应答,在各种支付场景中非常重要的。下面我们就讲下支付公司如何去设计这个notifyUrl来保证请求必然到达的。

首先,我们来看下,通常在支付形态的API接口中,使用都是Https协议+RSA证书体系,来完成整个交易的安全,那么这个notifyUrl必然也是这个协议和安全体系之下的。

其次,notifyUrl通常情况下由商户或用户提供,并且在支付接口的传入。那么问题来了,回调接口对于提供接口的一方是不可控制的,这些回调的接口的质量参差不齐,来源请求非常多,各自还需要做相互不影响,并发量跟正向支付请求同等量可能还要超过。

接下来我们来考虑如何设计一个回调请求notiflyUrl的中间件,来方便支付场景中非常重要的一环。

整个系统分为核心处理和商户回调请求业务管控。

核心处理:
代理接收层:主要使用同步EDAS RPC通讯框架,业务系统通过将需要回调的请求发送过来。再通过深度业务路由决策,分发到同步请求处理层或异步请求处理层。
同步请求处理层:处理即时回调的场景,如:扫码、网银等。
异步请求处理层:处理批量回调的场景,如:代扣、代发、充值等
补偿重试处理层:上面两类请求在指定重试范围内,通知失败,进入补偿重试。

业务管控:
回调商户黑白名单、URL管控、证书管控、路由计算、控台重发等。

整体架构图如下:
商户通知系统.png
总结:
为了保证性能和优先URL通知到达,采用了先请求URL,再落库的方式(前提业务能自主补偿)。
通过同步和异步两层设计,异步中再采用队列分散型设计,再通过精准的路由策略计算,达到商户或更细粒度的业务操作维度的通知相互不影响。
发送者上面需要考虑Https协议支持,标准TLS1.0~1.2或更高,加密通讯算法上也需要更多支撑,JDK安全限制需要考虑。
外网出口再采用两类方式,一类专线管控类,通过正向代理统一出口(适合银行类通知),一类直接外网请求。

目录
相关文章
|
4天前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
26天前
|
运维 Cloud Native 容灾
核心系统转型问题之单元化架构对于自研可控场景该如何支持
核心系统转型问题之单元化架构对于自研可控场景该如何支持
|
30天前
|
人工智能 Serverless API
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
28 0
|
30天前
|
NoSQL Serverless 数据库连接
Serverless 架构实现弹幕场景问题之initializer方法在执行过程中遇到错误如何解决
Serverless 架构实现弹幕场景问题之initializer方法在执行过程中遇到错误如何解决
29 0
|
30天前
|
存储 Serverless API
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
14 0
|
30天前
|
NoSQL Serverless API
Serverless 架构实现弹幕场景问题之API Gateway和OSS域名未绑定成功的问题如何解决
Serverless 架构实现弹幕场景问题之API Gateway和OSS域名未绑定成功的问题如何解决
26 0
|
30天前
|
存储 NoSQL Serverless
Serverless 架构实现弹幕场景问题之快速部署弹幕应用到 Serverless 架构如何解决
Serverless 架构实现弹幕场景问题之快速部署弹幕应用到 Serverless 架构如何解决
43 0
|
23天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
8天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
18 3
|
12天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
31 3

热门文章

最新文章