博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
去哪儿网支付系统架构演进全历程阅读心得
阅读量:6587 次
发布时间:2019-06-24

本文共 807 字,大约阅读时间需要 2 分钟。

去哪儿支付系统自2011年搭建以来,在五年的时间里逐渐从一个高耦合的单一系统发展为众多子系统组成的高并发、高可用、支持多种交易支付业务的分布式系统。业务从最初的非代收到现在多种非代收、代收场景的支持,B2B业务的从无到有,支付方式从单一网银支付到现在银行卡、拿去花、代金券、红包、立减、积分、趣游宝等多种的组合,订单从单笔支付到多个订单同时支付和多次付款。

一个支付系统不例外包括几个重要组成部分:收银台、交易、支付、网关、账务。

  • 收银台:用于展示支付详情、提供各种多样支付方式的选择

  • 交易:收单规则和交易规则处理

  • 支付:处理各种组合的支付方式,如银行卡、用户余额、信用付、拿去花、红包、代金券、立减、积分等

  • 账务:用来记录所有交易、资金往来的明细,财务会计记账

  • 网关:用于对接银行通道、第三方支付通道(微信、支付宝)如何提高开发效率

如何提高开发效率

系统拆分后主要提供dubbo服务和对外http(https)服务

1.针对Dubbo服务的约定

  1. 接口定义:粒度控制、边界控制。一个接口不能存在模棱两可的情况,只做其一

  2. 参数标准:复杂接口使用对象做参数(避免map)、统一父类、支持扩展属性透传、提供create/builder构造合法参数、使用枚举限制参数范围。有效避免调用端参数错传

  3. 返回值:统一QResponse封装、错误码管理(非数字形式含义明确、按业务区分避免重复等)

  4. 业务模板:定义标准业务处理流程、标准化异常处理

  5. 接口文档化:定义好接口后,通过注解动态生成接口文档

2.针对http服务的约定

a)接口参数:command、校验器、参数类型配置化。

command中定义接口信息,包括请求返回参数、每个参数的参数类型、参数的校验器、参数类型的校验器。校验器可以组合使用,也可以自定义实现扩展。

转载于:https://www.cnblogs.com/andibier/p/11055387.html

你可能感兴趣的文章
Java中的SPI Service Provider Interface 介绍及示例
查看>>
nginx 不记录指定类型日志
查看>>
为某个老狗提供表白基址
查看>>
csa Round #66 (Div. 2 only)
查看>>
虚拟机全屏问题
查看>>
笔记-人老了-github
查看>>
https域名强弱校验的区别
查看>>
MariaDB 10.3 instant ADD COLUMN亿级大表毫秒级加字段
查看>>
堆结构导致数据文件不能收缩
查看>>
linux运维常见英文报错中文翻译(菜鸟必知)
查看>>
微软私有云Azure Pack实践系列之三创建虚拟机角色
查看>>
Exchange 2010 UM角色安装后无法启动服务,错误 1000,1001
查看>>
运维的核心竞争力是什么
查看>>
.NET Micro Framework开发板用户简明手册(v3.0)
查看>>
Gartner:智能SOC/情报驱动的SOC的五大特征
查看>>
iOS开发那些事-iOS应用本地化-资源文件本地化
查看>>
工信部召开地方信息安全工作会议
查看>>
windows7网购火车票全解析
查看>>
实战:在远程网络配置DNS转发
查看>>
作为IT人员,专业和不专业的差别有多大?
查看>>