摘要: 原文来自:(https://www.cnblogs.com/sujing/p/11006424.html) 分布式事务就是在分布式的场景下,需要满足事务的需求!上篇文章我们聊过了消息中间件,那这篇文章我们要聊的是分布式事务,把两者一结合,便有了基于消息中间件的分布式事务解决方案!不管是本地事务,还是 阅读全文
posted @ 2019-08-11 21:01 猿来你也在这里呀 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操 阅读全文
posted @ 2019-08-11 16:34 猿来你也在这里呀 阅读(2052) 评论(0) 推荐(0) 编辑
摘要: 步骤: 1.进入微信开放平台注册开发者账号2.根据项目类型创建应用,再此我创建的是网站应用.3.接入微信登陆功能,让用户可使用微信登录你的网站应用4.获得AppID和AppSectet 授权流程说明 1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站, 阅读全文
posted @ 2019-08-11 15:48 猿来你也在这里呀 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 通常使用一个list来实现队列操作,这样有一个小限制,所以的任务统一都是先进先出,如果想优先处理某个任务就不太好处理了,这就需要让队列有优先级的概念,我们就可以优先处理高级别的任务,实现方式有以下几种方式: 1)单一列表实现:队列正常的操作是 左进右出(lpush,rpop)为了先处理高优先级任务, 阅读全文
posted @ 2019-08-11 15:28 猿来你也在这里呀 阅读(6239) 评论(0) 推荐(0) 编辑
摘要: 用redis队列来完成 加上一个排队队列和抢购结果队列及库存队列。高并发情况下,将用户进入排队队列,用一个线程循环处理从排队队列取出一个用户,判断用户是否已在抢购结果队列,如果在,则已抢购,否则未抢购,库存减1,写数据库,将用户入结果队列。 阅读全文
posted @ 2019-08-11 15:17 猿来你也在这里呀 阅读(309) 评论(0) 推荐(0) 编辑