分布式系统知识体系庞大而精妙,不花费大量的时间无法掌握。本文根据一些前人经验和自己摸索总结,由浅入深、由基础概念到实际运用,给出了一条学习曲线相对平滑的分布式学习攻略,希望和大家多多交流,共同进步。本篇为基础篇学习,涉及到了数百篇论文及博客资料,需要耐下心慢慢学习才可以体会到其精髓,欲速则不达。
另外,本系列文章在github上优先更新,有空才会更新CSDN的同篇文章,有兴趣的可以关注Awesome-Distributed-System
分布式锁分布式锁,顾名思义是用于分布式系统的锁,其作用和多线程贡献资源时的锁本质上是一样的,只不过是在分布式的场景下,所以需要考虑更多的问题。这篇博客很值得一看《How to do distributed locking》。除此之外还有《Leases: an efficient fault-tolerant mechanism for distributed file cache consistency》值得学习。
Memcache
Memcache由于其实现,本身做分布式锁不是很合适的选择,但是正因为其简单,可以作为了解分布式锁的入门级尝试,如
《A simple distributed lock with memcached》《Distributed resource locking using memcached》
Redis
官方指导文档《Distributed locks with Redis》肯定是要先看的,这里给出了数十种不同的分布式锁的实现,可以选择自己擅长的语言进行学习。《Distributed Lock Implementation With Redis》讲述了实现Redis分布式锁的过程,也值得一看。
Chubby
Chubby是谷歌分布式领域的重要产品,Chubby的设计初衷是为了解决分布式系统中的一致性问题,其中最常见的就是分布式系统的选主需求及一致性的数据存储。Chubby选择通过提供粗粒度锁服务的方式实现。
《The Chubby lock service for loosely-coupled distributed systems》谷歌的经典介绍论文当然是必读的。
Zookeeper
Zookeeper是apache基金会下的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册,其中分布式锁也是一大功能。
想完整了解zookeeper可以参看《 ZooKeeper: Distributed Process Coordination》,本书讲解较为详细,但是需要一定的时间才可以看完。官网的介绍也可以一看《ZooKeeper Recipes and Solutions》《Redis and Zookeeper for distributed lock》这篇文章对redis和zookeeper的方案进行了比较,也值得一看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)