去哪儿支付系统自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

去哪儿网支付系统架构演进全历程阅读心得相关推荐

  1. 《去哪儿网支付系统架构演进全历程》阅读有感

    <去哪儿网支付系统架构演进全历程>阅读有感 支付系统1.0 新的业务系统初建时,业务逻辑相对简单,业务量也比较小,为了能够快速实现功能,发布上线,大多数团队都会把所有的逻辑都耦合在一个系统 ...

  2. 去哪儿网支付系统架构演进

    作者简介:吕博,去哪儿网金融事业部研发工程师,毕业于吉林大学,2012年加入去哪儿网. 致力于支付平台研发和支付环节的基础服务建设. 正文 去哪儿支付系统自 2011 年搭建以来,在五年的时间里逐渐从 ...

  3. 去哪儿网支付系统架构演进(上)

    去哪儿支付系统自2011年搭建以来,在五年的时间里逐渐从一个高耦合的单一系统发展为众多子系统组成的高并发.高可用.支持多种交易支付业务的分布式系统.业务从最初的非代收到现在多种非代收.代收场景的支持, ...

  4. 去哪儿网支付系统架构演进(下篇)

    上篇给大家介绍了去哪儿支付系统架构演进的服务化拆分(点击阅读原文可查看上篇内容),接下来介绍一下在服务化拆分过程中遇到的一些问题与挑战,拆分过程中的DB处理.异步化,监控&报警等内容. 2.2 ...

  5. 去哪儿网支付系统架构演进--转

    原文地址:http://www.infoq.com/cn/articles/evolution-of-qunar-payment-system-architecture-?utm_source=inf ...

  6. 架构设计-支付宝、京东、美团、去哪儿的支付系统架构整体设计详解!!!

    架构设计-支付宝.京东.美团.去哪儿的支付系统架构整体设计详解!!! 支付产品模块是按照支付场景来为业务方提供支付服务.这个模块一般位于支付网关之后,支付渠道之前. 它根据支付能力将不同的支付渠道封装 ...

  7. 话费充值折扣数据库_《京东话费充值系统架构演进实践》--阅读

    京东话费充值业务线的订单量'水涨船高 ',同时对系统的各项运行指标要求更高,老的系统架构不足以支撑新的业务量,需要对系统进行升级.升级方案从以下几个层面进行. 1.应用层面 引入缓存 在应用层和数据库 ...

  8. 苏宁安全架构演进及实践——阅读心得

    苏宁安全服务平台:主要是为苏宁内部所有系统提供各类安全服务,包括漏洞扫描.渗透测试.系统加固.安全培训等: 苏宁安全应急响应中心:主要负责漏洞管理和威胁情报收集,以帮助提升苏宁自身产品及业务的安全性, ...

  9. 《点融支付系统架构的演进》阅读有感

    <点融支付系统架构的演进>阅读有感 在点融,支付最开始是作为一个模块存在于点融的大系统之中,它缺乏统一实现.扩展性较差,我们有大概有三到四个支付渠道,每个支付渠道都有自己的端到端的实现.相 ...

最新文章

  1. 1分钟10万字大法:量子波动速读、蒙眼翻书穿针,这是席卷15省的最新智商税...
  2. Android Studio项目转Eclipse项目
  3. 线性代数相关知识点回顾
  4. python高级教程html文件_Python之html转docx文件高级用法
  5. 自己动手写Docker系列 -- 4.3实现volume数据卷
  6. pcie routing
  7. PowerTip of the Day-Removing Empty Things
  8. 简书 echarts mysql_echarts入门教程
  9. 【Unity】Unity Pivot 与 Center Globle 与Lical
  10. java求根号值_Java-求根号n(示例代码)
  11. LSTM反向传播公式推导
  12. 【干货分享】 淘宝客发朋友圈的技巧
  13. pdffactory 打印字体_PdfFactory(虚拟打印机)
  14. 使用MySql计算两个日期的时间差函数:TIMESTAMPDIFF
  15. 原生JavaScript实现entries和fromEntries
  16. 市场模式缭乱,合适的模式脱颖而出?众筹卖货模式在线分享分析
  17. 明解C语言电子书pdf下载
  18. 自然图像抠图/视频抠像技术发展情况梳理(image matting, alpha matting, video matting)--计算机视觉专题1
  19. python 类型标注-typing --- 类型标注支持 — Python 3.7.9 文档
  20. Vue实现二选一、菜单更多功能:

热门文章

  1. java计算ip地址
  2. 600多万行的代码,苦撑12年的“乱项目”长这样
  3. adobe xd_如何在Adobe XD中创建简历简历网站模板
  4. d2-admin框架的使用笔记
  5. 【ESP32_8266_WiFi (十五)】ESP8266 OTA 操作说明
  6. 将PKCS12文件转成JKS
  7. 2018第九届蓝桥杯-决赛-Java大学-C组
  8. fastjson转换器简介及基本使用
  9. 尝试使用ob的advanced slides插件,发现image显示异常
  10. java 监听器作用_浅谈java监听器的作用