最近离职在家,闲来无事,研究如何实现一个支付系统
- 理论指导:http://doc.cocolian.cn/essay/
- 参考架构
服务划分
- dubbo服务对应端口
工程 | 端口 | 描述 |
---|---|---|
pay-service-account | 20801 | 账户服务 |
pay-service-bank | 20802 | 银行管理服务 |
pay-service-banklink | 20892 | 银行后置服务 |
pay-service-boss | 20804 | 运营服务 |
pay-service-fee | 20807 | 商户计费服务 |
pay-service-limit | 20809 | 交易限制服务 |
pay-service-notify | 20822 | 通知服务 |
pay-service-payrule | 20811 | 支付规则服务 |
pay-service-remit | 20813 | 打款服务 |
pay-service-report | 20815 | 报表服务 |
pay-service-settlement | 20816 | 结算服务 |
pay-service-trade | 20817 | 交易服务 |
pay-service-user | 20818 | 用户服务 |
- web服务对应端口
工程 | 端口 | 描述 |
---|---|---|
pay-web-boss | 8083 | 运营管理系统 |
pay-web-gateway | 8084 | 支付网关 |
pay-web-notify-receive | 8086 | 通知消息接收 |
pay-web-portal | 8085 | 门户系统 |
pay-web-trade | 8087 | 交易系统 |
技术架构
管理
- maven依赖和项目管理
- git版本控制
- Jenkins持续构建
后端
- IoC容器 Spring
- web框架 SpringMvc
- orm框架 Mybatis
- rpc框架 Dubbo
- 任务调度框架 quartz
- 缓存 redis
- 数据源 druid
- 日志 slf4j+log4j2
- Json jackson
- kaptcha 验证码
- jsp 模板视图
前端
- jquery js框架
- easyui 界面框架
- zTree 树框架
分布式事务:使用tcc-transaction框架
运营管理后台
gitlab源码管理
jenkins服务自动化部署
项目结构
包括dubbo服务启动脚本
待完善点(或者说不懂做)
- 风控系统:只要老板不想把底裤都赔掉,那就必须上风控。可对互联网公司来说,风控是一个谜一般的话题,无论是对风控专家还是IT工程师而言。机器学习,深度学习,规则推理,随机森林….这些只想说还不知道怎么玩~~
- 对账系统:每一笔交易,都要做到各参与者的记录能够吻合,没有偏差。对账系统的工作,是发现有差异的记录,即轧帐;然后通过人工或者自动的方式,解决这些差异,即平帐。