01 2018 档案

摘要:基于zk的分布式锁: 大概原理:仍然跟基于db或者redis一致,就是注册节点,然后删除。不同的是zk因为可以对节点的事件进行监听,那么在收到节点删除的事件时,正在阻塞的线程便可以发起新的抢占锁的请求。当然,真正生产的代码一般不是这么写的,因为这样的情况下如果等待的线程非常多,那么zk向所有注册点的 阅读全文
posted @ 2018-01-18 00:10 facelessvoidwang 阅读(2322) 评论(0) 推荐(0)
摘要:基于redis的分布式锁: 大概原理:跟基于DB的类似,基于redis的分布式锁是争抢redis上的一个键,谁给这个键赋值了谁就抢到了锁,主要是用了redis的setnx机制,也就是set if not exists。实际一般不用setnx这个api,主要是粒度略粗,不能指定失效时间,用set(ke 阅读全文
posted @ 2018-01-15 11:16 facelessvoidwang 阅读(280) 评论(0) 推荐(0)
摘要:使用场景: 某大型网站部署是分布式的,订单系统有三台服务器响应用户请求,生成订单后统一存放到order_info表;order_info表要求订单id(order_id)必须是唯一的,那么三台服务器怎么协同工作来确认order_id的唯一性呢?这时候就要用到分布式锁了。 分布式锁的要求: 在了解了使 阅读全文
posted @ 2018-01-14 20:08 facelessvoidwang 阅读(465) 评论(0) 推荐(0)
摘要:摘抄:https://www.cnblogs.com/snsdzjlz320/p/5761387.html 此文讲述的比较详细,尤其是ReadCommitted 跟 RepertableRead。 ReadCommitted跟RepeatableRead的区别,就是ReadCommitted能读自己 阅读全文
posted @ 2018-01-14 12:22 facelessvoidwang 阅读(234) 评论(0) 推荐(0)
摘要:历史介绍部分: 远程调用大致经过了corba、webservice、二进制跟restful四个阶段 corba时代,corba(Common Object Request Broker Architecture,通用对象请求代理架构)算是公认的所有远程调用的鼻祖,是由OMG(object mange 阅读全文
posted @ 2018-01-13 18:13 facelessvoidwang 阅读(287) 评论(0) 推荐(0)
摘要:摘抄:http://blog.csdn.net/shuaihj/article/details/14163713 ACID指数据库事务正确执行的四个基本要素:原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。 1、原子性 原 阅读全文
posted @ 2018-01-13 18:01 facelessvoidwang 阅读(200) 评论(0) 推荐(0)