存档

文章标签 ‘Zookeeper’

系统可靠性怎么做?

2020年5月24日 没有评论 694 次浏览

一个复杂单机系统的可靠性如何做?抛去各种理论不谈,最常用的手段之一就是采用Watchdog/Monitor机制来进行实时监控。如果是多机系统,那么通常的整体可靠性做法就是HA了。 对于单个Watchdog机制而言,可以参考Android的Watchdog设计。 Android中的软件Watchdog:https://blog.csdn.net/jinzhuojun/article/details/46552397 Android... [阅读更多]

配置中心

2020年3月21日 没有评论 884 次浏览

所谓集群,就是将部署在多个服务器上的相同应用集合在一起做同一件事情。因此,集群首先要解决的问题就是如何将多个服务器主机上的应用进行统一的管理,达到从外面看来就像是只有一个服务器主机在跑应用一样,这就要求集群系统必须具备全局信息的管理能力。比如应用程序的运行一般总是依赖一些配置信息,不可能让用户对集群里的每台主机去做单独的配置,而是由集群系统自动实现配置信息的全局同步,直接点说就是需要一个配置中心进行统一管理。 配置中心的主要作用是维护一致性信息,实现集群各主机的协调管理,因此其不仅仅只是用来存储共享配置,还可以用来存储其他各种公共的信息,比如服务信息,因此就可以实现服务注册和服务发现;比如锁信息,从而提供分布式锁机制等等。当前主流配置中心一般都包括配置管理、集群成员管理、命名服务、任务分配、心跳检测、分布式锁等功能。 当前社区可选的优秀开源有Zookeeper和Etcd,下面简单看一下。 1,Zookeeper 官网:http://zookeeper.apache.org/ Zookeeper起源于Hadoop,后来进化为Apache的顶级项目。现在已经被广泛使用在Apache的项目中,例如Hadoop,Kafka,Solr等等。 Zookeeper是Java写的,因此依赖Java环境,客户端官方语音支持C、Java,但GitHub上可以搜索到其他语言的客户端实现。 2,Etcd 官网:https://etcd.io/ Etcd是用go语言开发的,Etcd官方提供有Go语言和Java语言的SDK。 Etcd出现的时间并不长,但前景貌似非常好,在Kubernetes的kube... [阅读更多]