分布式锁,在微服务,多服务器水平扩展以及高并发的场景下,要保证共享资源正确处理,这个锁很重要。
我了解到了三种实现方式:
- 数据库方式,基于主键唯一性约束或行级锁实现
- Zookeeper实现,基于其临时有序节点实现
- Redis方式,基于setNX操作实现
三种方式各有优缺点,在恢复此博客之前我已经实现了基于Redis版本的分布式锁,现在把另外两种加以实现,并做相应的对比。
My journey of life
分布式锁,在微服务,多服务器水平扩展以及高并发的场景下,要保证共享资源正确处理,这个锁很重要。
我了解到了三种实现方式:
三种方式各有优缺点,在恢复此博客之前我已经实现了基于Redis版本的分布式锁,现在把另外两种加以实现,并做相应的对比。
近期在做MQ的实验,所以又接触了一下Zookeeper,之所说又是因为之前碰到过,但是只是用而已没有了解过一些细节。
引用官方原话:
ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
他可以提供高可靠的分布式协调服务,包括中心化配置服务等。
之前我用它做了什么,注册发现服务器,你是不是也是用了这个功能,但是具体怎么实现的,Spring Cloud都已经实现了,没有深入关心过。
这个文章我们补一些必要的知识,更加深入的了解Zookeeper。
最近重温吴军老师的硅谷来信,想起了Google人员采用的目标管理方法OKR(Objectives and Key Results)全称为“目标和关键成果”。
吴军老师在其硅谷来信114封信中分享了这个方法(不仅可以用于工作也可以用于自己的生活)并结合他个人的2017年目标做了阐述。这也使我产生了同样念头,用OKR方式管理我自己的目标。
昨天得知Java 11发布。
请允许我说:我的天啊,竟然Java 11了。 连Java 8还没有完全熟练使用的我,一时间有点恍惚。
近期,Java更新如此频繁,让人有点应接不暇,新的features层出不穷,而我们又真的学习使用了几个呢? 反正我只用了一小部分吧。
这里不列举Java 8之后各个版本中的features了,大家可以自行Google。