etcd从功能上来说和zookeeper是一类项目,但是相比而言更现代,使用go语言开发,编译后生成了系统可执行的二进制产物,跨平台性更好,更易维护。
etcd直接提供http的接口,非常方便各大语言封装自己的client sdk,在易用性方面也更好一点。
etcd是一个强大的一致性的分布式键值存储,解决主备服务的协调问题。etcd实现了raft协议保证强一致性。
只有首次启动的服务会获取到锁成为主服务,并且在运行期间会不断的续约。当从服务运行时会阻塞住,这样就能保证多个服务同时运行,只有一个服务真正工作。当获取到锁的主服务出现问题时,锁的续约在1秒内就会到期,从服务会马上获得锁成为新的主服务。
网友评论