电商(14)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44050355/article/details/100586985

电商第十四天
分布式事务:

对分布式事务的理解:
	CAP,BASE
	
分布式事务解决方案:
	1.	基于XA协议的两阶段提交方案
		LCN;分布式事务框架 https://github.com/codingapi/tx-lcn/wiki
	2.	TCC方案
	
	3.	基于消息的最终一致性方案 消息中间件ActiveMq
	
	4.	阿里的GTS
	
	
分布式事务的使用场景:
	支付模块,订单模块,库存模块!
	为什么采用消息中间件?
	采用消息的最终一致性来解决分布式事务,采用activeMq !
	使用消息队列的时候,有弊端【消息的不确定性】,解决方案:延迟队列,轮询解决即可!
	
	1.	消息队列解决什么问题
		a.	异步
		b.	并行
		c.	解耦
		d.	排队{并发} 做秒杀业务。
			弊端
		e.	不确定性
	2.	消息队列模式:
		a.	点对点:
			
		b.	订阅:
	3.	使用java 来操作activemq
	
	4.	制作activemq 的工具类
	
分布式事务整合业务使用:
	1.	支付模块,当支付成功之后,发送消息给订单模块。
		编写控制器进行测试
		传递两个参数,一个orderId,result 
		
		测试:
			gware-manage,order-service,payment
			http://payment.gmall.com/sendPaymentResult?orderId=99&result=success
	2.	根据发送的消息队列,对订单进行修改状态!
		需要借助消息监听器工厂!
		
	3.	订单将消息发送给库存系统!
			减库存
			放开库存的配置!
			添加一个注解@Component
		测试:
			gware-manage,order-service,payment	
	
	4.	库存系统减库存,再发送给订单,订单状态应该为已发货。
			SKU_DEDUCT_QUEUE

猜你喜欢

转载自blog.csdn.net/weixin_44050355/article/details/100586985