乐优商城项目总结——13 一些没讲到的

项目已经结束了,但是其中有一些没有讲到

1 购买商品减库存

减库存是一件容易的事,但是当有多台服务器的时候呢,好几个集群一起减库存,如果由于网络原因延迟了,库存变成0的时候另外一个服务还在减库存。
这种情况加上一个事务是解决不了问题的,因为它只能对当前的集群产生效果,就算都加事务也都是管着自己的,所以这时候就要想其他的办法。
解决:
通过原生sql语句查询就可以轻松解决,在sql语句上添加一条判断条件:

@Update("	update	tb_stock 
			set 
			stock = stock - #{num} 
			where 
			sku_id = #{skuId}
			and 
			stock >= #{num}")
    int decreaseStock(@Param("skuId") Long skuId, @Param("num") Integer num);

这个不管有多少集群,库存不够就不给你减,轻松解决问题。

2 微服务间安全问题

微服务之前的地址如果暴露了也有可能出现安全问题。
解决:
这个项目中微服务之间的通信是靠fegin调用的,要解决安全问题,就需要授权中心了。
简单地说就是把微服务也当做用户,有账号和密码,也有鉴权,通过jwt加密,在调用微服务之前进行token校验,业务的逻辑变得很麻烦,我也没实现,,只是了解有这种方法。不过这是一种解决办法。

等想起来其他问题再来添加,不过我感觉应该不会加了,因为懒。
dddaf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值