传统项目中的购物车,很容易实现。仅仅使用cookie或session等技术就可以实现。但是在分布式系统中,就不行了,因为分布式系统不能够实现session的共享。
这个时候就需要重新考虑购物车的做法了。
可以大致分为两步:
在没有登录的时候,同样可以运用cookie来作为购物车。但是用户登录后,就必须实现购物车里面商品的同步。那么就可以用redis作为登录后的购物车。
这时,就会遇到另外一个问题,就是登录之前购物车中的商品就丢失后,显然是不能够满足用户的需求的。这个时候,我们就需要考虑购物车内容的迁移问题,就是在
登录后,要把之前放在购物车cookie中的商品给重新按照用户放到登录后的购物车redis中去。就必须运用同步技术,实现购物车的同步。这时,市场上有很多的同步技
术可以实现此功能,个人觉得activitiMq使用起来比较方便。