😕 或许你在网上看过一些资料,了解一些分布式事务的解决办法,然而,一切还只是停留在理论阶段。
😕 或许你知道可以通过可靠消息、TCC、最大努力通知等方案来解决分布式事务问题,然而,一切还只是停留在理论阶段。
😕 或许你能说出来可以通过一些开源的技术来实现分布式事务,然而,一切还只是停留在理论阶段。
【总结】常用的分布式事务解决方案
- 刚性事务
全局事务(标准的分布式事务)
- 柔性事务
可靠消息最终一致(异步确何型)
TCC (两阶段型、补偿型)
最大努力通知(非可靠消息、定期校对)
以【商城下单支付】为核心功能,业务流转过程中会涉及到各系统之间的服务调用,比如:支付通知、商户通知、订单服务、积分服务、会计服务等。
每个服务之间都是独立的进程,具有可独立部署、业务解耦、扩展性强的特点。
最终,你将会知道如何解决分布式事务的问题。。
- 项目主要采用Dubbo作为服务治理框架
- 采用SpringBoot作为微服务开发框架。服务之间可独立部署、业务解耦、扩展性好。
- 项目整体框架为Spring、SpringMVC、Mybtais、Mysql、Zookeeper、ActiveMQ、Dubbo、JSP、Dwz(富客户端)等。
01. 在线商城系统
02. 支付网关系统
03. 银行支付通知(模拟通知回调)
04. 订单服务
05. 积分服务
06. 会计原始凭证记账服务
07. 账户服务
08. 商户通知服务
09. 可靠消息服务
10. TCC服务
11. 消息状态确认子系统
12. 消息恢复子系统
13. 消息管理子系统
14. BOSS系统
15. (后续更新)
原因是因为tcc-transaction框架是github上开源的框架,并非maven中央仓库。
tcc-transaction框架地址:https://github.com/changmingxie/tcc-transaction
我已经打包好了,可以到https://gitee.com/zhoubang85/zb-pay-dubbo/attach_files中下载,导入到本地maven仓库即可。
Jenkins项目自动化构建部署教程 :https://gitee.com/zhoubang85/zb-pay-dubbo/attach_files
zb-pay-dubbo项目部署文档教程 : https://gitee.com/zhoubang85/zb-pay-dubbo/attach_files
(后续整理)
为每一个zb-pay-service-*、zb-pay-app-* 模块新增main方法启动服务的入口,方便本地调试学习与代码跟踪;
建议使用此方式,比较简单直接;直接运行main方法即可使用服务注册;
无需再通过繁琐的 java -jar 的命令启动jar实现服务启动;
【个人网站】:http://www.2b2b92b.com
【联系QQ】:842324724
【支付-微信_支付宝_银联】技术QQ群:470414533