Go语言在讯联扫码支付系统中的成功实践

主要内容 • 金融支付系统的一些特点 • 我们的扫码支付系统技术选型 • 系统迭代过程中的架构演进 • 与Go相关的一些坑
展开查看详情

1. Go 语言在讯联扫码 支付系统中的成功实践 2017-04-02 Jacky

2.主要内容 • 金融支付系统的一些特点 • 我们的扫码支付系统技术选型 • 系统迭代过程中的架构演进 • 与Go相关的一些坑

3.业务流程 • 信息流 稳定性 - 实时交易服务:API Gateway 安全性 - 商户对账服务:批处理 - 商户服务:web portal 吞吐量

4.技术选型 • 业务需求 • 技术需求 • 团队需求

5.技术选型 • 团队背景 - C,Java,Golang • Golang技术特点 - 快速上手,学习曲线平滑,开发效率高 - 天生支持并发编程 - 简洁的错误处理:defer、panic、recover

6.技术选型 • 安全性 https://web.nvd.nist.gov/view/vuln/search

7.技术选型 • 稳定性 - 高可用架构 • 应用无状态,支持横向扩展

8.技术选型 • 吞吐量 - 并发处理能力 • http接口 • RSA加解密

9.

10.

11.

12.技术选型 • 总结 作为需要快速原型、快速迭代的项目, 在满足当前和未来可预期的高可用、吞吐量等业务需求的前提下, Golang的高效开发效率、简单的部署和运维,是我们拥抱Golang的主要原因。

13.初始版本

14.架构调整

15.一些坑 • 变量作用域 • chan操作

16.

17. 变量 作用域 chan 关闭 chan 写入

18.

19.Thanks & QA