ZooKeeper用途--超详细

    ZooKeeper还可以用作其他用途,例如:

    • 数据发布与订阅(配置中心)
    • 负载均衡
    • 命名服务(Naming Service)
    • 分布式通知/协调
    • 集群管理与Master选举
    • 分布式锁
    • 分布式队列

    一些在线系统在运行中,需要在不停止程序的情况下能够动态调整某一个变量的值并且能够及时生效。特别是当部署了多台应用服务器的时候,需要能够做到在一台机器上修改配置文件,然后在同步到所有应用服务器。这时候使用ZooKeeper来实现就很合适了。

    ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。

    值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利用其提供的一系列API接口(或者称为原语集),摸索出来的典型使用方法。因此,也非常欢迎读者分享你在ZK使用上的奇技淫巧。

    ZooKeeper典型应用场景一览数据发布与订阅(配置中心)

    发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。

    • 应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:应用在启动的时候会主动来获取一次配置,同时,在节点上注册一个Watcher,这样一来,以后每次配置有更新的时候,都会实时通知到订阅的客户端,从来达到获取最新配置信息的目的。
    • 分布式搜索服务中,索引的元信息和服务器集群机器的节点状态存放在ZK的一些指定节点,供各个客户端订阅使用。
    • 分布式日志收集系统。这个系统的核心工作是收集分布在不同机器的日志。收集器通常是按照应用来分配收集任务单元,因此需要在ZK上创建一个以应用名作为path的节点P,并将这个应用的所有机器ip,以子节点的形式注册到节点P上,这样一来就能够实现机器变动的时候,能够实时通知到收集器调整任务分配。
    • 系统中有些信息需要动态获取,并且还会存在人工手动去修改这个信息的发问。通常是暴露出接口,例如JMX接口,来获取一些运行时的信息。引入ZK之后,就不用自己实现一套方案了,只要将这些信息存放到指定的ZK节点上即可。

    注意:在上面提到的应用场景中,有个默认前提是:数据量很小,但是数据更新可能会比较快的场景。

    负载均衡

    这里说的负载均衡是指软负载均衡。在分布式环境中,为了保证高可用性,通常同一个应用或同一个服务的提供方都会部署多份,达到对等服务。而消费者就须要在这些对等的服务器中选择一个来执行相关的业务逻辑,其中比较典型的是消息中间件中的生产者,消费者负载均衡。

    消息中间件中发布者和订阅者的负载均衡,linkedin开源的KafkaMQ和阿里开源的metaq都是通过zookeeper来做到生产者、消费者的负载均衡。这里以metaq为例如讲下

    • 生产者负载均衡:metaq发送消息的时候,生产者在发送消息的时候必须选择一台broker上的一个分区来发送消息,因此metaq在运行过程中,会把所有broker和对应的分区信息全部注册到ZK指定节点上,默认的策略是一个依次轮询的过程,生产者在通过ZK获取分区列表之后,会按照brokerId和partition的顺序排列组织成一个有序的分区列表,发送的时候按照从头到尾循环往复的方式选择一个分区来发送消息。
    • 消费负载均衡:

      在消费过程中,一个消费者会消费一个或多个分区中的消息,但是一个分区只会由一个消费者来消费。MetaQ的消费策略是:

      • 每个分区针对同一个group只挂载一个消费者。
      • 如果同一个group的消费者数目大于分区数目,则多出来的消费者将不参与消费。
      • 如果同一个group的消费者数目小于分区数目,则有部分消费者需要额外承担消费任务。
      在某个消费者故障或者重启等情况下,其他消费者会感知到这一变化(通过 zookeeper watch消费者列表),然后重新进行负载均衡,保证所有的分区都有消费者进行消费。

    命名服务(Naming Service)

    命名服务也是分布式系统中比较常见的一类场景。在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务的地址,提供者等信息。被命名的实体通常可以是集群中的机器,提供的服务地址,远程对象等等——这些我们都可以统称他们为名字(Name)。其中较为常见的就是一些分布式服务框架中的服务地址列表。通过调用ZK提供的创建节点的API,能够很容易创建一个全局唯一的path,这个path就可以作为一个名称。

    阿里巴巴集团开源的分布式服务框架Dubbo中使用ZooKeeper来作为其命名服务,维护全局的服务地址列表,点击这里查看Dubbo开源项目。在Dubbo实现中:

    服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。

    服务消费者启动的时候,订阅/dubbo/${serviceName}/providers目录下的提供者URL地址, 并向/dubbo/${serviceName} /consumers目录下写入自己的URL地址。

    注意,所有向ZK上注册的地址都是临时节点,这样就能够保证服务提供者和消费者能够自动感应资源的变化。

    另外,Dubbo还有针对服务粒度的监控,方法是订阅/dubbo/${serviceName}目录下所有提供者和消费者的信息。

    分布式通知/协调

    ZooKeeper中特有watcher注册与异步通知机制,能够很好的实现分布式环境下不同系统之间的通知与协调,实现对数据变更的实时处理。使用方法通常是不同系统都对ZK上同一个znode进行注册,监听znode的变化(包括znode本身内容及子节点的),其中一个系统update了znode,那么另一个系统能够收到通知,并作出相应处理

    • 另一种心跳检测机制:检测系统和被检测系统之间并不直接关联起来,而是通过zk上某个节点关联,大大减少系统耦合。
    • 另一种系统调度模式:某系统有控制台和推送系统两部分组成,控制台的职责是控制推送系统进行相应的推送工作。管理人员在控制台作的一些操作,实际上是修改了ZK上某些节点的状态,而ZK就把这些变化通知给他们注册Watcher的客户端,即推送系统,于是,作出相应的推送任务。
    • 另一种工作汇报模式:一些类似于任务分发系统,子任务启动后,到zk来注册一个临时节点,并且定时将自己的进度进行汇报(将进度写回这个临时节点),这样任务管理者就能够实时知道任务进度。 总之,使用zookeeper来进行分布式通知和协调能够大大降低系统之间的耦合

    集群管理与Master选举

    • 集群机器监控:这通常用于那种对集群中机器状态,机器在线率有较高要求的场景,能够快速对集群中机器变化作出响应。这样的场景中,往往有一个监控系统,实时检测集群机器是否存活。过去的做法通常是:监控系统通过某种手段(比如ping)定时检测每个机器,或者每个机器自己定时向监控系统汇报“我还活着”。 这种做法可行,但是存在两个比较明显的问题:

      • 集群中机器有变动的时候,牵连修改的东西比较多。
      • 有一定的延时。

      利用ZooKeeper有两个特性,就可以实时另一种集群机器存活性监控系统:

      • 客户端在节点 x 上注册一个Watcher,那么如果 x?的子节点变化了,会通知该客户端。
      • 创建EPHEMERAL类型的节点,一旦客户端和服务器的会话结束或过期,那么该节点就会消失。
      例如,监控系统在 /clusterServers 节点上注册一个Watcher,以后每动态加机器,那么就往 /clusterServers 下创建一个 EPHEMERAL类型的节点:/clusterServers/{hostname}. 这样,监控系统就能够实时知道机器的增减情况,至于后续处理就是监控系统的业务了。
    • Master选举则是zookeeper中最为经典的应用场景了。 在分布式环境中,相同的业务应用分布在不同的机器上,有些业务逻辑(例如一些耗时的计算,网络I/O处理),往往只需要让整个集群中的某一台机器进行执行,其余机器可以共享这个结果,这样可以大大减少重复劳动,提高性能,于是这个master选举便是这种场景下的碰到的主要问题。

      利用ZooKeeper的强一致性,能够保证在分布式高并发情况下节点创建的全局唯一性,即:同时有多个客户端请求创建 /currentMaster 节点,最终一定只有一个客户端请求能够创建成功。利用这个特性,就能很轻易的在分布式环境中进行集群选取了。

      另外,这种场景演化一下,就是动态Master选举。这就要用到?EPHEMERAL_SEQUENTIAL类型节点的特性了。

      上文中提到,所有客户端创建请求,最终只有一个能够创建成功。在这里稍微变化下,就是允许所有请求都能够创建成功,但是得有个创建顺序,于是所有的请求最终在ZK上创建结果的一种可能情况是这样: /currentMaster/{sessionId}-1 ,?/currentMaster/{sessionId}-2 ,?/currentMaster/{sessionId}-3 ….. 每次选取序列号最小的那个机器作为Master,如果这个机器挂了,由于他创建的节点会马上小时,那么之后最小的那个机器就是Master了。

      在搜索系统中,如果集群中每个机器都生成一份全量索引,不仅耗时,而且不能保证彼此之间索引数据一致。因此让集群中的Master来进行全量索引的生成,然后同步到集群中其它机器。另外,Master选举的容灾措施是,可以随时进行手动指定master,就是说应用在zk在无法获取master信息时,可以通过比如http方式,向一个地方获取master。

      在Hbase中,也是使用ZooKeeper来实现动态HMaster的选举。在Hbase实现中,会在ZK上存储一些ROOT表的地址和HMaster的地址,HRegionServer也会把自己以临时节点(Ephemeral)的方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的存活状态,同时,一旦HMaster出现问题,会重新选举出一个HMaster来运行,从而避免了HMaster的单点问题

    分布式锁

    分布式锁,这个主要得益于ZooKeeper为我们保证了数据的强一致性。锁服务可以分为两类,一个是保持独占,另一个是控制时序。

    • 所谓保持独占,就是所有试图来获取这个锁的客户端,最终只有一个可以成功获得这把锁。通常的做法是把zk上的一个znode看作是一把锁,通过create znode的方式来实现。所有客户端都去创建 /distribute_lock 节点,最终成功创建的那个客户端也即拥有了这把锁。
    • 控制时序,就是所有视图来获取这个锁的客户端,最终都是会被安排执行,只是有个全局时序了。做法和上面基本类似,只是这里/distribute_lock 已经预先存在,客户端在它下面创建临时有序节点(这个可以通过节点的属性控制:CreateMode.EPHEMERAL_SEQUENTIAL来指定)。Zk的父节点(/distribute_lock)维持一份sequence,保证子节点创建的时序性,从而也形成了每个客户端的全局时序。

    分布式队列

    队列方面,简单地讲有两种,一种是常规的先进先出队列,另一种是要等到队列成员聚齐之后的才统一按序执行。对于第一种先进先出队列,和分布式锁服务中的控制时序场景基本原理一致,这里不再赘述。

    第二种队列其实是在FIFO队列的基础上作了一个增强。通常可以在 /queue 这个znode下预先建立一个/queue/num 节点,并且赋值为n(或者直接给/queue赋值n),表示队列大小,之后每次有队列成员加入后,就判断下是否已经到达队列大小,决定是否可以开始执行了。这种用法的典型场景是,分布式环境中,一个大任务Task A,需要在很多子任务完成(或条件就绪)情况下才能进行。这个时候,凡是其中一个子任务完成(就绪),那么就去 /taskList 下建立自己的临时时序节点 (CreateMode.EPHEMERAL_SEQUENTIAL),当 /taskList 发现自己下面的子节点满足指定个数,就可以进行下一步按序进行处理了。

    转载至:http://rdc.taobao.com/team/jm/archives/1232

     

     

            

    分布式网站架构后续:zookeeper技术浅析

      Zookeeper是Hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper到底有哪些实际的运用,哪些类型的应用能发挥zookeeper的优势,最后谈谈zookeeper对分布式网站架构能产生怎样的作用。

      Zookeeper是针对大型分布式系统的高可靠的协调系统。由这个定义我们知道zookeeper是个协调系统,作用的对象是分布式系统。为什么分布式系统需要一个协调系统了?理由如下:

      开发分布式系统是件很困难的事情,其中的困难主要体现在分布式系统的“部分失败”。“部分失败”是指信息在网络的两个节点之间传送时候,如果网络出了故障,发送者无法知道接收者是否收到了这个信息,而且这种故障的原因很复杂,接收者可能在出现网络错误之前已经收到了信息,也可能没有收到,又或接收者的进程死掉了。发送者能够获得真实情况的唯一办法就是重新连接到接收者,询问接收者错误的原因,这就是分布式系统开发里的“部分失败”问题。

      Zookeeper就是解决分布式系统“部分失败”的框架。Zookeeper不是让分布式系统避免“部分失败”问题,而是让分布式系统当碰到部分失败时候,可以正确的处理此类的问题,让分布式系统能正常的运行。

      下面我要讲讲zookeeper的实际运用场景:

      场景一:有一组服务器向客户端提供某种服务(例如:我前面做的分布式网站的服务端,就是由四台服务器组成的集群,向前端集群提供服务),我们希望客户端每次请求服务端都可以找到服务端集群中某一台服务器,这样服务端就可以向客户端提供客户端所需的服务。对于这种场景,我们的程序中一定有一份这组服务器的列表,每次客户端请求时候,都是从这份列表里读取这份服务器列表。那么这分列表显然不能存储在一台单节点的服务器上,否则这个节点挂掉了,整个集群都会发生故障,我们希望这份列表时高可用的。高可用的解决方案是:这份列表是分布式存储的,它是由存储这份列表的服务器共同管理的,如果存储列表里的某台服务器坏掉了,其他服务器马上可以替代坏掉的服务器,并且可以把坏掉的服务器从列表里删除掉,让故障服务器退出整个集群的运行,而这一切的操作又不会由故障的服务器来操作,而是集群里正常的服务器来完成。这是一种主动的分布式数据结构,能够在外部情况发生变化时候主动修改数据项状态的数据机构。Zookeeper框架提供了这种服务。这种服务名字就是:统一命名服务,它和javaEE里的JNDI服务很像。

      场景二:分布式锁服务。当分布式系统操作数据,例如:读取数据、分析数据、最后修改数据。在分布式系统里这些操作可能会分散到集群里不同的节点上,那么这时候就存在数据操作过程中一致性的问题,如果不一致,我们将会得到一个错误的运算结果,在单一进程的程序里,一致性的问题很好解决,但是到了分布式系统就比较困难,因为分布式系统里不同服务器的运算都是在独立的进程里,运算的中间结果和过程还要通过网络进行传递,那么想做到数据操作一致性要困难的多。Zookeeper提供了一个锁服务解决了这样的问题,能让我们在做分布式数据运算时候,保证数据操作的一致性。

      场景三:配置管理。在分布式系统里,我们会把一个服务应用分别部署到n台服务器上,这些服务器的配置文件是相同的(例如:我设计的分布式网站框架里,服务端就有4台服务器,4台服务器上的程序都是一样,配置文件都是一样),如果配置文件的配置选项发生变化,那么我们就得一个个去改这些配置文件,如果我们需要改的服务器比较少,这些操作还不是太麻烦,如果我们分布式的服务器特别多,比如某些大型互联网公司的hadoop集群有数千台服务器,那么更改配置选项就是一件麻烦而且危险的事情。这时候zookeeper就可以派上用场了,我们可以把zookeeper当成一个高可用的配置存储器,把这样的事情交给zookeeper进行管理,我们将集群的配置文件拷贝到zookeeper的文件系统的某个节点上,然后用zookeeper监控所有分布式系统里配置文件的状态,一旦发现有配置文件发生了变化,每台服务器都会收到zookeeper的通知,让每台服务器同步zookeeper里的配置文件,zookeeper服务也会保证同步操作原子性,确保每个服务器的配置文件都能被正确的更新。

      场景四:为分布式系统提供故障修复的功能。集群管理是很困难的,在分布式系统里加入了zookeeper服务,能让我们很容易的对集群进行管理。集群管理最麻烦的事情就是节点故障管理,zookeeper可以让集群选出一个健康的节点作为master,master节点会知道当前集群的每台服务器的运行状况,一旦某个节点发生故障,master会把这个情况通知给集群其他服务器,从而重新分配不同节点的计算任务。Zookeeper不仅可以发现故障,也会对有故障的服务器进行甄别,看故障服务器是什么样的故障,如果该故障可以修复,zookeeper可以自动修复或者告诉系统管理员错误的原因让管理员迅速定位问题,修复节点的故障。大家也许还会有个疑问,master故障了,那怎么办了?zookeeper也考虑到了这点,zookeeper内部有一个“选举领导者的算法”,master可以动态选择,当master故障时候,zookeeper能马上选出新的master对集群进行管理。

      下面我要讲讲zookeeper的特点:

    1. zookeeper是一个精简的文件系统。这点它和hadoop有点像,但是zookeeper这个文件系统是管理小文件的,而hadoop是管理超大文件的。
    2. zookeeper提供了丰富的“构件”,这些构件可以实现很多协调数据结构和协议的操作。例如:分布式队列、分布式锁以及一组同级节点的“领导者选举”算法。
    3. zookeeper是高可用的,它本身的稳定性是相当之好,分布式集群完全可以依赖zookeeper集群的管理,利用zookeeper避免分布式系统的单点故障的问题。
    4. zookeeper采用了松耦合的交互模式。这点在zookeeper提供分布式锁上表现最为明显,zookeeper可以被用作一个约会机制,让参入的进程不在了解其他进程的(或网络)的情况下能够彼此发现并进行交互,参入的各方甚至不必同时存在,只要在zookeeper留下一条消息,在该进程结束后,另外一个进程还可以读取这条信息,从而解耦了各个节点之间的关系。
    5. zookeeper为集群提供了一个共享存储库,集群可以从这里集中读写共享的信息,避免了每个节点的共享操作编程,减轻了分布式系统的开发难度。
    6. zookeeper的设计采用的是观察者的设计模式,zookeeper主要是负责存储和管理大家关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式。

      由此可见zookeeper很利于分布式系统开发,它能让分布式系统更加健壮和高效。

      前不久我参加了部门的hadoop兴趣小组,测试环境的hadoop、mapreduce、HiveHbase都是我来安装的,安装hbase时候安装要预先安装zookeeper,最早我是在四台服务器上都安装了zookeeper,但是同事说安装四台和安装三台是一回事,这是因为zookeeper要求半数以上的机器可用,zookeeper才能提供服务,所以3台的半数以上就是2台了,4台的半数以上也是两台,因此装了三台服务器完全可以达到4台服务器的效果,这个问题说明zookeeper进行安装的时候通常选择奇数台服务器。在学习hadoop的过程中,我感觉zookeeper是最难理解的一个子项目,原因倒不是它技术负责,而是它的应用方向很让我困惑,所以我有关hadoop技术第一篇文章就从zookeeper开始,也不讲具体技术实现,而从zookeeper的应用场景讲起,理解了zookeeper应用的领域,我想再学习zookeeper就会更加事半功倍。

      之所以今天要谈谈zookeeper,也是为我上一篇文章分布式网站框架的补充。虽然我设计网站架构是分布式结构,也做了简单的故障处理机制,比如:心跳机制,但是对集群的单点故障还是没有办法的,如果某一台服务器坏掉了,客户端任然会尝试连接这个服务器,导致部分请求的阻塞,也会导致服务器资源的浪费。不过我目前也不想去修改自己的框架,因为我总觉得在现有的服务上添加zookeeper服务会影响网站的效率,如果有独立的服务器集群部署zookeeper还是值得考虑的,但是服务器资源太宝贵了,这个可能性不大。幸好我们部门也发现了这样的问题,我们部门将开发一个强大的远程调用框架,将集群管理和通讯管理这块剥离出来,集中式提供高效可用的服务,等部门的远程框架开发完毕,我们的网站加入新的服务,我想我们的网站将会更加稳定和高效。

     哈哈,讲了这么久估计有童鞋可能有点烦了,不是说应用zookeeper的实例吗?怎么还没见到zookeeper的影子。别着急,zookeeper马上就要上场了。

      还是以我前面博客里写分布式网站讲起,服务端系统我们可以当做服务提供者,前端系统当做服务调用者,提供者可以类比商户,调用者可以类比客户,商户和客户可以直接进行交易,这种直接交易方式非常原始甚至还会有风险,现代社会商户和客户直接的交易十分高效,高效的原因是因为有一个规范的大市场,商户和客户的交易在市场里进行的,这样交易会变得更加安全和高效,我设计的分布式框架最大的特点就是提供了一个类似市场的角色,它来管理服务提供者和服务调用者,我把这个功能模块称为远程调用管理组件。

      远程调用管理组件是本框架的核心,它的主要作用是接收服务端提供者的注册的通知,该通知一般是接口以及该接口的实现类还有服务器的ip地址,管理组件会将这些通知记录下来,并且根据配置对这些服务程序进行分组和标记,注册好的信息管理组件会将这些信息推送到服务调用者。远程调用管理组件还包含心跳机制,这个心跳机制是针对服务提供者,通过心跳机制检测服务提供者的健康状况,管理组件不会检测服务调用者的健康状态,因为这个没必要,因为本框架的使用还是调用者直接去请求提供者,逻辑上是没必要关心调用者的状态,这和bs架构里浏览器一样,我们不会去关心浏览器用户是不是存在。服务提供者、服务调用者和远程调用管理组件的关系如下图所示:

      远程调用框架运行的过程是:当服务提供者启动时候,它会将自己的ip地址和注册的方法传输到远程调用管理组件,管理组件接收到注册信息会将这些信息存储下来,存储技术就是使用zookeeper,存储成功后,管理组件会将成功通知传回给服务提供者,同时管理组件还会通过心跳检测服务提供者是否健康;当服务调用者启动时候,它会向管理组件请求服务提供者信息,管理组件接收到请求后会将相关信息推送给服务调用者。在实际系统运行时候,服务调用者直接和服务提供者进行通信交互了,通信方式是netty,如果调用者和提供者有相关变化,都会先通知服务管理组件,服务管理组件会将相关变更信息推送给相应的系统。

     

      远程调用管理组件主要是通过zookeeper实现,zookeeper拥有一个层次的命名空间,它的模型是一个树状结构,树状结构是一个强大的数据类型,它几乎能存储所有不同的数据类型,我们通过zookeeper将这些信息保存起来,便于我们管理整个远程调用框架,同时zookeeper还是高可靠的,这个我在前面zookeeper文章里讲到了,这样就保证了整个远程调用框架的稳定性,实际应用中我们会将组件编译成一个jar包,不同的项目直接引用这个jar包,这样管理组件服务端和服务的提供者和调用者就联系起来。至于提供者和调用者的通信机制是直接进行,因为我们将通信程序集成在jar包里,只不过相应的管理机制抽取到外部服务端进行统一管理。

     

      这就是我设计的远程调用框架,可惜的是,这个构思我还没有真正实现过,今天拿出来是想体现zookeeper的实际应用,为我后面讲解zookeeper做铺垫,至于是否可行,看以后有没有机会开发个类似的系统,到时估计还有很多意想不到的问题要解决。

    				<script>
    					(function(){
    						function setArticleH(btnReadmore,posi){
    							var winH = $(window).height();
    							var articleBox = $("div.article_content");
    							var artH = articleBox.height();
    							if(artH > winH*posi){
    								articleBox.css({
    									'height':winH*posi+'px',
    									'overflow':'hidden'
    								})
    								btnReadmore.click(function(){
    									articleBox.removeAttr("style");
    									$(this).parent().remove();
    								})
    							}else{
    								btnReadmore.parent().remove();
    							}
    						}
    						var btnReadmore = $("#btn-readmore");
    						if(btnReadmore.length>0){
    							if(currentUserName){
    								setArticleH(btnReadmore,3);
    							}else{
    								setArticleH(btnReadmore,1.2);
    							}
    						}
    					})()
    				</script>
    				</article>
    
    zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用 - only_musm的博客
    zookeeper是dubbo推荐的注册中心。

    流程:
    1.服务提供者启动时向/dubbo/com.foo.BarService/providers目录下写入URL
    2.服务消费者启…


    <div class="comment-edit-box d-flex">
    	<a id="commentsedit"></a>
    	<div class="user-img">
    		<a href="//me.csdn.net/qq_34885598" target="_blank">
    			<img class="" src="https://avatar.csdn.net/B/4/9/3_qq_34885598.jpg">
    		</a>
    	</div>
    	<form id="commentform">
    		<input type="hidden" id="comment_replyId">
    		<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
    		<div class="opt-box"> <!-- d-flex -->
    			<div id="ubbtools" class="add_code">
    				<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
    			</div>
    			<input type="hidden" id="comment_replyId" name="comment_replyId">
    			<input type="hidden" id="comment_userId" name="comment_userId" value="">
    			<input type="hidden" id="commentId" name="commentId" value="">
    			<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-mod="popu_384"><a href="#" target="_blank" class="comment_area_btn">发表评论</a></div>
    			<div class="dropdown" id="myDrap">
    				<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
    				<div class="txt-selected text-truncate">添加代码片</div>
    				<svg class="icon d-block" aria-hidden="true">
    					<use xlink:href="#csdnc-triangledown"></use>
    				</svg>
    				</a>
    				<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
    					<li><a data-code="html">HTML/XML</a></li>
    					<li><a data-code="objc">objective-c</a></li>
    					<li><a data-code="ruby">Ruby</a></li>
    					<li><a data-code="php">PHP</a></li>
    					<li><a data-code="csharp">C</a></li>
    					<li><a data-code="cpp">C++</a></li>
    					<li><a data-code="javascript">JavaScript</a></li>
    					<li><a data-code="python">Python</a></li>
    					<li><a data-code="java">Java</a></li>
    					<li><a data-code="css">CSS</a></li>
    					<li><a data-code="sql">SQL</a></li>
    					<li><a data-code="plain">其它</a></li>
    				</ul>
    			</div>  
    			<div class="right-box">
    				<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
    				<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
    			</div>
    		</div>
    	</form>
    </div>
    
    	<div class="comment-list-container">
    	<a id="comments"></a>
    	<div class="comment-list-box" style="max-height: none; display: none;"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8740300" data-replyname="qq_34885598">        <a target="_blank" href="https://my.csdn.net/qq_34885598"><img src="https://avatar.csdn.net/B/4/9/3_qq_34885598.jpg" alt="qq_34885598" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/qq_34885598"><span class="name ">_maybewecan_:</span></a>              <span class="comment">写的很详细,点赞!</span><span class="date" title="2018-11-21 10:29:48">(14秒前</span><span class="floor-num">#1楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-delete" data-type="delete">删除</a><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul></div>
    	<div id="commentPage" class="pagination-box d-none" style="display: none;"><div id="Paging_09609164778631942" class="ui-paging-container"><ul><li class="js-page-first js-page-action ui-pager ui-pager-disabled"></li><li class="js-page-prev js-page-action ui-pager ui-pager-disabled">上一页</li><li data-page="1" class="ui-pager focus">1</li><li class="js-page-next js-page-action ui-pager ui-pager-disabled">下一页</li><li class="js-page-last js-page-action ui-pager ui-pager-disabled"></li></ul></div></div>
    	
    </div>
    
    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/maozherong/article/details/52226204,BlogCommendFromBaidu_2,index_1&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/maozherong/article/details/52226204" target="_blank" title="zookeeper在分布式应用中的作用 - 寒灵冰的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>zookeeper</em>在分布式应用中的作用 - 寒灵冰的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/D/9/3_maozherong.jpg" alt="maozherong" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">maozherong</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">08-16</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2181</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/maozherong/article/details/52226204" target="_blank" title="zookeeper在分布式应用中的作用 - 寒灵冰的专栏">
    						<span class="desc oneline">是不是要在标题的“作用”之前加上“重要”两个字,我犹豫了一下,zookeeper提供的功能是如此的重要,以至于如果你在应用中不使用它,早晚也会在你的应用中去实现zookeeper 的功能,所以,zoo...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/maozherong">来自:	<span class="blog_title"> 寒灵冰的专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/king866/article/details/53992653,BlogCommendFromBaidu_3,index_2&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/king866/article/details/53992653" target="_blank" title="zookeeper的详细介绍及使用场景 - 远方的行者">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>zookeeper</em>的详细介绍及使用场景 - 远方的行者				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/4/1/C/3_king866.jpg" alt="king866" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">king866</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">01-03</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2.5万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/king866/article/details/53992653" target="_blank" title="zookeeper的详细介绍及使用场景 - 远方的行者">
    						<span class="desc oneline">Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/king866">来自:	<span class="blog_title"> 远方的行者</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    <!-- 第四范式广告开关 -->
    			<div class="p4courset3_target _4paradigm_box recommend-item-box clearfix isGreatIcon"><div class="_4paradigm_box  clearfix T3" data-track-click="{&quot;mod&quot;:&quot;popu_648&quot;,&quot;con&quot;:&quot;,https://edu.csdn.net/topic/ai30?utm_source=blogt3,&quot;}"><a href="https://edu.csdn.net/topic/ai30?utm_source=blogt3" target="_blank"><div class="content-box"><h4 class="text-truncate oneline" style="width: 662px;">30W<span style="color:#ca0c16;">年薪</span>的<span style="color:#ca0c16;">人工智能</span>工程师只是“白菜价”?</h4><p class="content oneline" style="width: 702px;">机器学习|深度学习|图像处理|自然语言处理|无人驾驶,这些技术都会吗?看看真正的人工智能师都会那些关键技术?年薪比你高多少!</p></div></a></div></div>
    			<script>window.p4sdk_enable_recommendBox=true</script>
    
    
    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/WeiJiFeng_/article/details/79775738,BlogCommendFromBaidu_4,index_3&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/WeiJiFeng_/article/details/79775738" target="_blank" title="5分钟让你了解 ZooKeeper 的功能和原理 - WeiJiFeng_的博客">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					5分钟让你了解 <em>ZooKeeper</em> 的功能和原理 - WeiJiFeng_的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/C/E/3/3_weijifeng_.jpg" alt="WeiJiFeng_" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">WeiJiFeng_</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">04-01</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						4.2万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/WeiJiFeng_/article/details/79775738" target="_blank" title="5分钟让你了解 ZooKeeper 的功能和原理 - WeiJiFeng_的博客">
    						<span class="desc oneline">目录 
    

    一 .Zookeeper功能简介
      二 . ZooKeeper基本概念
        2.1  集群角色
        2.2 集群节点分工
       …

    来自: WeiJiFeng_的博客



    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yoghurt2016/article/details/52838088,BlogCommendFromBaidu_5,index_4&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/yoghurt2016/article/details/52838088" target="_blank" title="Zookeeper的作用以及选举机制 - yoghurt">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>Zookeeper</em>的作用以及选举机制 - yoghurt				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/A/0/C/3_yoghurt2016.jpg" alt="yoghurt2016" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">yoghurt2016</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">10-17</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						5774</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/yoghurt2016/article/details/52838088" target="_blank" title="Zookeeper的作用以及选举机制 - yoghurt">
    						<span class="desc oneline">zookeeper:
    

    其实,我觉得要是深度理解zookeeper的工作状态挺难的,也非常深,我学完之后又看了很多大牛的博客,觉得自己理解的也不好,只能说是对zookeeper有个浅显的概念,或者浅显…

    来自: yoghurt



    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_34764487/article/details/78379565,BlogCommendFromBaidu_6,index_5&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qq_34764487/article/details/78379565" target="_blank" title="什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么 - BestbpF的博客">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					什么是<em>Zookeeper</em>,<em>Zookeeper</em>的作用是什么,在Hadoop及hbase中具体作用是什么 - BestbpF的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/A/1/3_qq_34764487.jpg" alt="qq_34764487" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qq_34764487</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">10-28</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2939</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qq_34764487/article/details/78379565" target="_blank" title="什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么 - BestbpF的博客">
    						<span class="desc oneline">点击打开链接
    

    一、什么是Zookeeper 

    ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig)  的管理员, Apach…

    来自: BestbpF的博客



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liweisnake/article/details/63251252,BlogCommendFromBaidu_7,index_6&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liweisnake/article/details/63251252,BlogCommendFromBaidu_7,index_6&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/liweisnake/article/details/63251252" target="_blank" title="zookeeper入门系列-概述 - 笨狐狸">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>zookeeper</em>入门系列-概述 - 笨狐狸				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/0/7/3_liweisnake.jpg" alt="liweisnake" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">liweisnake</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">04-01</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.1万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/liweisnake/article/details/63251252" target="_blank" title="zookeeper入门系列-概述 - 笨狐狸">
    						<span class="desc oneline">zookeeper可谓是目前使用最广泛的分布式组件了。其功能和职责单一但却非常重要。
    

    在现今这个年代,介绍zookeeper的书和文章可谓多如牛毛,本人不才,在这边试图通过自己的理解来介绍zookee…

    来自: 笨狐狸



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/truelove12358/article/details/73277035,BlogCommendFromBaidu_8,index_7&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/truelove12358/article/details/73277035,BlogCommendFromBaidu_8,index_7&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/truelove12358/article/details/73277035" target="_blank" title="zookeeper在dubbo起了什么作用 - MayMatrix 的博客">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>zookeeper</em>在dubbo起了什么作用 - MayMatrix 的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/9/D/8/3_truelove12358.jpg" alt="truelove12358" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">truelove12358</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">06-15</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2302</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/truelove12358/article/details/73277035" target="_blank" title="zookeeper在dubbo起了什么作用 - MayMatrix 的博客">
    						<span class="desc oneline">dubbo是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。
    

    注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你的,…

    来自: MayMatrix 的博客



    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_60" data-pid="60" data-track-view="{&quot;mod&quot;:&quot;kp_popu_60-43&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_60-43&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad8" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/i7thTool/article/details/80981234,BlogCommendFromBaidu_9,index_8&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/i7thTool/article/details/80981234,BlogCommendFromBaidu_9,index_8&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/i7thTool/article/details/80981234" target="_blank" title="我们能用zookeeper做什么 - 章志强的专栏">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					我们能用<em>zookeeper</em>做什么 - 章志强的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/D/D/3_i7thtool.jpg" alt="i7thTool" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">i7thTool</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-10</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						380</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/i7thTool/article/details/80981234" target="_blank" title="我们能用zookeeper做什么 - 章志强的专栏">
    						<span class="desc oneline">zookeeper是什么&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/i7thTool">来自:	<span class="blog_title"> 章志强的专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    		<div class="recommend-item-box type_hot_word">
    					<div class="content clearfix oneline" style="width: 702px;">
    			<h5 class="float-left">文章热词</h5>
    			<div class="word float-left">
    												<span>
    					<a href="https://edu.csdn.net/courses/o5329_s5330_k " target="_blank">
    					机器学习					</a></span>
    																<span>
    					<a href="https://edu.csdn.net/courses/o5329_s5330_k " target="_blank">
    					机器学习课程					</a></span>
    																<span>
    					<a href="https://edu.csdn.net/courses/o5329_s5330_k " target="_blank">
    					机器学习教程					</a></span>
    																<span>
    					<a href="https://edu.csdn.net/combos/o5329_s5331_l0_t " target="_blank">
    					深度学习视频教程					</a></span>
    																<span>
    					<a href="https://edu.csdn.net/combos/o5329_s5331_l0_t " target="_blank">
    					深度学习学习					</a></span>
    											</div>
    		</div>
    								<div class="content clearfix oneline" style="width: 702px;">
    			<h5 class="float-left">相关热词</h5>
    			<div class="float-left">
    								<span>
    					<a href="https://www.csdn.net/gather_23/NtTaggysOTYtYmxvZwO0O0OO0O0O.html" target="_blank">
    					c++例子 zookeeper</a>
    				</span>
    								<span>
    					<a href="https://www.csdn.net/gather_23/OtDaUgysMTYtYmxvZwO0O0OO0O0O.html" target="_blank">
    					c++ zookeeper 封闭库</a>
    				</span>
    								<span>
    					<a href="https://www.csdn.net/gather_2c/MtzaIgzsMC1ibG9n.html" target="_blank">
    					c#反射的用途</a>
    				</span>
    								<span>
    					<a href="https://www.csdn.net/gather_28/MtTakgwsNjAtYmxvZwO0O0OO0O0O.html" target="_blank">
    					c#数组的用途</a>
    				</span>
    								<span>
    					<a href="https://www.csdn.net/gather_2a/OtDaEg5sOTEtYmxvZwO0O0OO0O0O.html" target="_blank">
    					c++ templates用途</a>
    				</span>
    							</div>
    		</div>
    				</div>
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/gs80140/article/details/51496925,BlogCommendFromBaidu_10,index_9&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/gs80140/article/details/51496925,BlogCommendFromBaidu_10,index_9&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/gs80140/article/details/51496925" target="_blank" title="一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下: - gs80140的专栏">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					一直对<em>zookeeper</em>的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下: - gs80140的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/9/8/3_gs80140.jpg" alt="gs80140" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">gs80140</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">05-25</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						3.7万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/gs80140/article/details/51496925" target="_blank" title="一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下: - gs80140的专栏">
    						<span class="desc oneline">场景一
    

    有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分…

    来自: gs80140的专栏



            <div class="recommend-item-box blog-expert-recommend-box" style="display: block;">
    		<div class="d-flex">
    			<div class="blog-expert-recommend">
    				<div class="blog-expert">
    					<div class="blog-expert-flexbox" data-track-view="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><a href="https://blog.csdn.net/scorpio3k" target="_blank"><img src="https://avatar.csdn.net/E/D/7/3_scorpio3k.jpg" alt="童年的天空"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><a href="https://blog.csdn.net/scorpio3k" target="_blank"><h5 class="oneline">童年的天空</h5></a></span>  <p><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="scorpio3k" data-nick="童年的天空">关注</span></span><span class="article-num"> 474篇文章</span></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><a href="https://blog.csdn.net/liukuan73" target="_blank"><img src="https://avatar.csdn.net/9/8/2/3_liukuan73.jpg" alt="liukuan73"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><a href="https://blog.csdn.net/liukuan73" target="_blank"><h5 class="oneline">liukuan73</h5></a></span>  <p><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="liukuan73" data-nick="liukuan73">关注</span></span><span class="article-num"> 487篇文章</span></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><a href="https://blog.csdn.net/liuj2511981" target="_blank"><img src="https://avatar.csdn.net/E/E/C/3_liuj2511981.jpg" alt="原创学无止尽"></a></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><a href="https://blog.csdn.net/liuj2511981" target="_blank"><h5 class="oneline">原创学无止尽</h5></a></span>  <p><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/weisg81/article/details/72912381&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="liuj2511981" data-nick="原创学无止尽">关注</span></span><span class="article-num"> 315篇文章</span></p></div></div></div></div>
    				</div>
    			</div>
    			<div class="blog-expert-load-new" data-index="3" style="display: block;">
    				<svg version="1.1" viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
    				<path d="M142.5,57.5c-1.3-1.2-2.1-3.3-2.1-5.4c0-4.2,3.3-7.5,7.5-7.5h19.6c4.2,0,7.5,3.3,7.5,7.5s-3.3,7.5-7.5,7.5h-4.2
    					C170.8,71.2,175,85,175,100c0,41.7-33.8,75-75,75c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5c33.3,0,60-27.1,60-60
    					C160,83.7,153.8,68.7,142.5,57.5L142.5,57.5z M57.5,142.5c1.2,1.2,2.1,3.3,2.1,5.4c0,4.2-3.3,7.5-7.5,7.5H32.5
    					c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5h4.2C29.2,128.8,25,115,25,100c0-41.7,33.7-75,75-75c4.2,0,7.5,3.3,7.5,7.5
    					S104.2,40,100,40c-33.3,0-60,27.1-60,60C40,116.2,46.2,131.2,57.5,142.5z"></path>
    				</svg>
    				<span>换一批</span>
    			</div>
    		</div>
        </div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_18416057/article/details/54927189,BlogCommendFromBaidu_11,index_10&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_18416057/article/details/54927189,BlogCommendFromBaidu_11,index_10&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qq_18416057/article/details/54927189" target="_blank" title="Zookeeper简介(浅入)让你搞明白 - it帝国的博客-辉">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>Zookeeper</em>简介(浅入)让你搞明白 - it帝国的博客-辉				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/3/2/7/3_qq_18416057.jpg" alt="qq_18416057" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qq_18416057</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">02-12</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.8万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qq_18416057/article/details/54927189" target="_blank" title="Zookeeper简介(浅入)让你搞明白 - it帝国的博客-辉">
    						<span class="desc oneline">zookeeper,有些听说过,有些人没有,本人也是因为自己在做一个分布式的系统,由dubbo+zookeeper整合,所以接触一下。到底是什么东西?关于这个问题我首先到其官网和百度百科。其大致就是z...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qq_18416057">来自:	<span class="blog_title"> it帝国的博客-辉</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/tswisdom/article/details/41522069,BlogCommendFromBaidu_12,index_11&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/tswisdom/article/details/41522069,BlogCommendFromBaidu_12,index_11&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/tswisdom/article/details/41522069" target="_blank" title="Zookeeper系列(一) - 在路上">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>Zookeeper</em>系列(一) - 在路上				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/7/2/2/3_tswisdom.jpg" alt="tswisdom" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">tswisdom</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">11-26</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						6.7万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/tswisdom/article/details/41522069" target="_blank" title="Zookeeper系列(一) - 在路上">
    						<span class="desc oneline">一、ZooKeeper的背景
    

    1.1 认识ZooKeeper

    ZooKeeper—译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物…

    来自: 在路上



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/duke370503/article/details/52623192,BlogCommendFromBaidu_13,index_12&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/duke370503/article/details/52623192,BlogCommendFromBaidu_13,index_12&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/duke370503/article/details/52623192" target="_blank" title="Zookeeper的几个应用场景 - duke370503的博客">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>Zookeeper</em>的几个应用场景 - duke370503的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/E/2/3_duke370503.jpg" alt="duke370503" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">duke370503</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">09-22</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.7万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/duke370503/article/details/52623192" target="_blank" title="Zookeeper的几个应用场景 - duke370503的博客">
    						<span class="desc oneline">场景一
    

    有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分…

    来自: duke370503的博客



    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_61" data-pid="61" data-track-view="{&quot;mod&quot;:&quot;kp_popu_61-557&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_61-557&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad13" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u013517229/article/details/64904888,searchFromBaidu_14,index_13&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u013517229/article/details/64904888,searchFromBaidu_14,index_13&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/u013517229/article/details/64904888" target="_blank" title="ZOOKEEPER的作用 - 心生的小鱼专栏">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>ZOOKEEPER</em>的作用 - 心生的小鱼专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/F/C/6/3_u013517229.jpg" alt="u013517229" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">u013517229</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">03-22</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						174</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/u013517229/article/details/64904888" target="_blank" title="ZOOKEEPER的作用 - 心生的小鱼专栏">
    						<span class="desc oneline">ZOOKEEPER的作用</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/u013517229">来自:	<span class="blog_title"> 心生的小鱼专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ssllkkyyaa/article/details/82589123,searchFromBaidu_15,index_14&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ssllkkyyaa/article/details/82589123,searchFromBaidu_15,index_14&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/ssllkkyyaa/article/details/82589123" target="_blank" title="zookeeper作用 - lucky的专栏">
    			<h4 class="text-truncate oneline" style="width: 627px;">
    					<em>zookeeper</em>作用 - lucky的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/5/3/7/3_ssllkkyyaa.jpg" alt="ssllkkyyaa" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">ssllkkyyaa</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">09-10</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						26</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/ssllkkyyaa/article/details/82589123" target="_blank" title="zookeeper作用 - lucky的专栏">
    						<span class="desc oneline">1&nbsp; 高可用:leader死后,自由选举。
    

    2 全部配置:配置可以全量同步更新。

    3 发布订阅,联合kafka等消息中间件,dubbo发布者将数据发布在node上,订阅者上去去取出来。

    4 分布…

    来自: lucky的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_40345074/article/details/81368773,searchFromBaidu_16,index_15&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_40345074/article/details/81368773,searchFromBaidu_16,index_15&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qq_40345074/article/details/81368773" target="_blank" title="zookeeper在dubbo到底起了什么作用 - qq_40345074的博客">
    			<h4 class="text-truncate oneline" style="width: 627px;">
    					<em>zookeeper</em>在dubbo到底起了什么作用 - qq_40345074的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/3/0/9/3_qq_40345074.jpg" alt="qq_40345074" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qq_40345074</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">08-02</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						25</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qq_40345074/article/details/81368773" target="_blank" title="zookeeper在dubbo到底起了什么作用 - qq_40345074的博客">
    						<span class="desc oneline">&nbsp;&nbsp; zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qq_40345074">来自:	<span class="blog_title"> qq_40345074的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_26462167/article/details/78461038,searchFromBaidu_17,index_16&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_26462167/article/details/78461038,searchFromBaidu_17,index_16&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qq_26462167/article/details/78461038" target="_blank" title="zookeeper原理及作用 - qq_26462167的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>zookeeper</em>原理及作用 - qq_26462167的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/7/5/2/3_qq_26462167.jpg" alt="qq_26462167" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qq_26462167</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">11-06</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						133</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qq_26462167/article/details/78461038" target="_blank" title="zookeeper原理及作用 - qq_26462167的博客">
    						<span class="desc oneline">ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qq_26462167">来自:	<span class="blog_title"> qq_26462167的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    			<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/a936676463/5650549,BlogCommendFromQuerySearch_18,index_17&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/a936676463/5650549,BlogCommendFromQuerySearch_18,index_17&quot;}" data-flg="true">
    		<a href="https://download.csdn.net/download/a936676463/5650549" target="_blank">
    			<div class="content">
    				<div class="">
    					<span class="type">下载</span>
    					<h4 class="text-truncate oneline clearfix">
    						<em>zookeeper</em>sample						</h4>
    					<span class="data float-right">06-26</span>
    				</div>
    				<div class="desc oneline">
    						zookeeper使用示例,介绍了zookeeper在生产环境中的多个用途					</div>
    			</div>
    		</a>
    	</div>
    
    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_62" data-pid="62" data-track-view="{&quot;mod&quot;:&quot;kp_popu_62-556&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_62-556&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad18" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/scorpio3k/article/details/60968909,BlogCommendFromQuerySearch_19,index_18&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/scorpio3k/article/details/60968909,BlogCommendFromQuerySearch_19,index_18&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/scorpio3k/article/details/60968909" target="_blank" title="ZooKeeper使用场景总结 - 重剑无锋,大巧不工。。。">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>ZooKeeper</em>使用场景总结 - 重剑无锋,大巧不工。。。				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/E/D/7/3_scorpio3k.jpg" alt="scorpio3k" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">scorpio3k</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">03-09</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1733</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/scorpio3k/article/details/60968909" target="_blank" title="ZooKeeper使用场景总结 - 重剑无锋,大巧不工。。。">
    						<span class="desc oneline">转载自:http://www.cnblogs.com/fanguangdexiaoyuer/p/6086463.html&nbsp;数据发布与订阅(配置中心)发布与订阅模型,即所谓的配置中心,顾名思义就是发布者...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/scorpio3k">来自:	<span class="blog_title"> 重剑无锋,大巧不工。。。</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liuj2511981/article/details/42460069,BlogCommendFromQuerySearch_20,index_19&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liuj2511981/article/details/42460069,BlogCommendFromQuerySearch_20,index_19&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/liuj2511981/article/details/42460069" target="_blank" title="ZooKeeper 工作、选举 原理 - 原创学无止尽">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>ZooKeeper</em> 工作、选举 原理 - 原创学无止尽				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/E/E/C/3_liuj2511981.jpg" alt="liuj2511981" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">liuj2511981</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">01-06</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.3万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/liuj2511981/article/details/42460069" target="_blank" title="ZooKeeper 工作、选举 原理 - 原创学无止尽">
    						<span class="desc oneline">ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/liuj2511981">来自:	<span class="blog_title"> 原创学无止尽</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    			<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/love_zxd2008/8356795,BlogCommendFromQuerySearch_21,index_20&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/love_zxd2008/8356795,BlogCommendFromQuerySearch_21,index_20&quot;}" data-flg="true">
    		<a href="https://download.csdn.net/download/love_zxd2008/8356795" target="_blank">
    			<div class="content">
    				<div class="">
    					<span class="type">下载</span>
    					<h4 class="text-truncate oneline clearfix">
    						<em>Zookeeper</em>熟悉和<em>用途</em>综述						</h4>
    					<span class="data float-right">01-13</span>
    				</div>
    				<div class="desc oneline">
    						Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,主要是用来解决分布式应用中经常遇到的一些数据管理问题,
    

    如:集群管理、统一命名服务、分布式配置管理、分布式消息队列、分布式锁、分布式通知协调等。
    越来越多的分…


    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u010311445/article/details/45648485,BlogCommendFromQuerySearch_22,index_21&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u010311445/article/details/45648485,BlogCommendFromQuerySearch_22,index_21&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/u010311445/article/details/45648485" target="_blank" title="10.zookeeper原理解析-选举之选举流程 - 斩秋的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					10.<em>zookeeper</em>原理解析-选举之选举流程 - 斩秋的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/1/B/3_u010311445.jpg" alt="u010311445" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">u010311445</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">05-11</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						5758</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/u010311445/article/details/45648485" target="_blank" title="10.zookeeper原理解析-选举之选举流程 - 斩秋的专栏">
    						<span class="desc oneline">QuorumPeer的run方法中主要用来进行选举,以及选举后进入各角色,角色被打破重新再进行选举,下图大体流程
    

    2.1.1基本概念
    Lo…

    来自: 斩秋的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/hn307165411/article/details/51768896,BlogCommendFromBaidu_23,index_22&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/hn307165411/article/details/51768896,BlogCommendFromBaidu_23,index_22&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/hn307165411/article/details/51768896" target="_blank" title="zookeeper 实际使用场景举例 - snoopy的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>zookeeper</em> 实际使用场景举例 - snoopy的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/5/9/2/3_hn307165411.jpg" alt="hn307165411" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">hn307165411</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">06-27</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2927</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/hn307165411/article/details/51768896" target="_blank" title="zookeeper 实际使用场景举例 - snoopy的专栏">
    						<span class="desc oneline">本人所在的项目组,目前在两个地方使用到了zookeeper,分别是
    

         1.定期理财平台:理财涉及到一个额度的问题,不同的渠道(如网站、手机、微信等)使用的是同一个额度,需要确保每个渠道看到的都…

    来自: snoopy的专栏



    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_63" data-pid="63" data-track-view="{&quot;mod&quot;:&quot;kp_popu_63-555&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_63-555&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad23" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhaoyangjian724/article/details/51941252,BlogCommendFromBaidu_24,index_23&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhaoyangjian724/article/details/51941252,BlogCommendFromBaidu_24,index_23&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/zhaoyangjian724/article/details/51941252" target="_blank" title="1、Zookeeper熟悉和用途综述 - zhaoyangjian724的专栏">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					1、<em>Zookeeper</em>熟悉和<em>用途</em>综述 - zhaoyangjian724的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/7/9/E/3_zhaoyangjian724.jpg" alt="zhaoyangjian724" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">zhaoyangjian724</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-18</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						480</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/zhaoyangjian724/article/details/51941252" target="_blank" title="1、Zookeeper熟悉和用途综述 - zhaoyangjian724的专栏">
    						<span class="desc oneline">集群 配置:
    

    192.168.32.80 192.168.32.81 192.168.32.82

    server 1:
    zjtest7-redis:/opt/zookeeper/conf# ca…

    来自: zhaoyangjian724的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/salonzhou/article/details/47401019,BlogCommendFromBaidu_25,index_24&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/salonzhou/article/details/47401019,BlogCommendFromBaidu_25,index_24&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/salonzhou/article/details/47401019" target="_blank" title="为什么要使用ZooKeeper - salonzhou的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					为什么要使用<em>ZooKeeper</em> - salonzhou的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/9/2/7/3_salonzhou.jpg" alt="salonzhou" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">salonzhou</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">08-10</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1987</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/salonzhou/article/details/47401019" target="_blank" title="为什么要使用ZooKeeper - salonzhou的专栏">
    						<span class="desc oneline">
    

    记得在大约在2006年的时候Google出了Chubby来解决分布一致性的问题(distributed consensus problem),所有集群中的服务器通过Chubby最终选出一个Ma…

    来自: salonzhou的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/shenlan211314/article/details/6187035,BlogCommendFromBaidu_26,index_25&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/shenlan211314/article/details/6187035,BlogCommendFromBaidu_26,index_25&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/shenlan211314/article/details/6187035" target="_blank" title="ZooKeeper系列之八:ZooKeeper的简单操作 - 张林林|深蓝(Linlin Zhang,shenlan211314) 的专栏">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>ZooKeeper</em>系列之八:<em>ZooKeeper</em>的简单操作 - 张林林|深蓝(Linlin Zhang,shenlan211314) 的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/3/0/D/3_shenlan211314.jpg" alt="shenlan211314" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">shenlan211314</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">02-15</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						3.9万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/shenlan211314/article/details/6187035" target="_blank" title="ZooKeeper系列之八:ZooKeeper的简单操作 - 张林林|深蓝(Linlin Zhang,shenlan211314) 的专栏">
    						<span class="desc oneline">1)使用ls命令来查看当前ZooKeeper中所包含的内容:[zk: 10.77.20.23:2181(CONNECTED) 1] ls /[zookeeper]2)创建一个新的znode,使用cre...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/shenlan211314">来自:	<span class="blog_title"> 张林林|深蓝(Linlin Zhang,shenlan211314) 的专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/chen610/article/details/76295737,BlogCommendFromBaidu_27,index_26&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/chen610/article/details/76295737,BlogCommendFromBaidu_27,index_26&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/chen610/article/details/76295737" target="_blank" title="Zookeeper使用场景和特性关联 - 无畏的心_">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>Zookeeper</em>使用场景和特性关联 - 无畏的心_				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/A/3/F/3_chen610.jpg" alt="chen610" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">chen610</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-29</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						400</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/chen610/article/details/76295737" target="_blank" title="Zookeeper使用场景和特性关联 - 无畏的心_">
    						<span class="desc oneline">Zookeeper因为分布式而生,天生具备分布式的基因。那它被用在现在哪些地方了呢?
    

    Hadoop中ZooKeeper主要用于实现HA(Hive Availability),包括HDFS的Nama…

    来自: 无畏的心_



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaokang123456kao/article/details/73382232,BlogCommendFromBaidu_28,index_27&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaokang123456kao/article/details/73382232,BlogCommendFromBaidu_28,index_27&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/xiaokang123456kao/article/details/73382232" target="_blank" title="走向云计算之Zookeeper简介和使用场景 - 想作会飞的鱼的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					走向云计算之<em>Zookeeper</em>简介和使用场景 - 想作会飞的鱼的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/4/3/3_xiaokang123456kao.jpg" alt="xiaokang123456kao" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">xiaokang123456kao</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">06-17</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						566</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/xiaokang123456kao/article/details/73382232" target="_blank" title="走向云计算之Zookeeper简介和使用场景 - 想作会飞的鱼的博客">
    						<span class="desc oneline">一、概述Zookeeper是一个针对大型分布式系统的可靠协调系统;提供的功能包括:配置维护、名字服务、分布式同步、组服务等;目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/xiaokang123456kao">来自:	<span class="blog_title"> 想作会飞的鱼的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_64" data-pid="64" data-track-view="{&quot;mod&quot;:&quot;kp_popu_64-81&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_64-81&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad28" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wwwsq/article/details/7644445,BlogCommendFromBaidu_29,index_28&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wwwsq/article/details/7644445,BlogCommendFromBaidu_29,index_28&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/wwwsq/article/details/7644445" target="_blank" title="Zookeeper的优缺点 - 王绍全的博客">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>Zookeeper</em>的优缺点 - 王绍全的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/6/D/3_wwwsq.jpg" alt="wwwsq" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">wwwsq</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">06-08</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.6万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/wwwsq/article/details/7644445" target="_blank" title="Zookeeper的优缺点 - 王绍全的博客">
    						<span class="desc oneline">zookeeper不是为高可用性设计的由于要跨机房容灾,很多系统实际上是需要跨机房部署的。出于性价比的考虑我们通常会让多个机房同时工作,而不会搭建N倍的冗余。也就是说单个机房肯定撑不住全流量(你能设想...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/wwwsq">来自:	<span class="blog_title"> 王绍全的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qunqin/article/details/44179035,BlogCommendFromBaidu_30,index_29&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qunqin/article/details/44179035,BlogCommendFromBaidu_30,index_29&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qunqin/article/details/44179035" target="_blank" title="ZooKeeper 基本介绍 - qunqin的专栏">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>ZooKeeper</em> 基本介绍 - qunqin的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/6/D/2/3_qunqin.jpg" alt="qunqin" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qunqin</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">03-10</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.1万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qunqin/article/details/44179035" target="_blank" title="ZooKeeper 基本介绍 - qunqin的专栏">
    						<span class="desc oneline">Zookeeper&nbsp;作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,&nbsp;Zookeeper&nbsp;作用主要是用来维护和监控存储的数...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qunqin">来自:	<span class="blog_title"> qunqin的专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u010943460/article/details/52134295,BlogCommendFromBaidu_31,index_30&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u010943460/article/details/52134295,BlogCommendFromBaidu_31,index_30&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/u010943460/article/details/52134295" target="_blank" title="zookeeper学习总结 - u010943460的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>zookeeper</em>学习总结 - u010943460的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/7/3/5/3_u010943460.jpg" alt="u010943460" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">u010943460</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">08-06</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1089</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/u010943460/article/details/52134295" target="_blank" title="zookeeper学习总结 - u010943460的专栏">
    						<span class="desc oneline">zookeeper学习总结标签(空格分隔): 高并发  zookeeper 分布式点击查看MarkDown链接1. zookeeper的作用
    

    配置中心
    分布式锁(和我遇到的分布式锁的区别…

    来自: u010943460的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhoulixin8/article/details/51751567,BlogCommendFromQuerySearch_32,index_31&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhoulixin8/article/details/51751567,BlogCommendFromQuerySearch_32,index_31&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/zhoulixin8/article/details/51751567" target="_blank" title="zookeeper选举原理讲解 - zhoulixin8的专栏">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					<em>zookeeper</em>选举原理讲解 - zhoulixin8的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/1/9/3_zhoulixin8.jpg" alt="zhoulixin8" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">zhoulixin8</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">06-24</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.2万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/zhoulixin8/article/details/51751567" target="_blank" title="zookeeper选举原理讲解 - zhoulixin8的专栏">
    						<span class="desc oneline">zookeeper的领导者选举和原子广播
    

    目录:
        1、工作原理概述
        2、Fast Leader选举算法(领导者选举)

        3、Leader与Follow…

    来自: zhoulixin8的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xfg0218/article/details/53350280,BlogCommendFromQuerySearch_33,index_32&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xfg0218/article/details/53350280,BlogCommendFromQuerySearch_33,index_32&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/xfg0218/article/details/53350280" target="_blank" title="zookeeper浅析-内存数据库-ZKDatabase - 知识的力量">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>zookeeper</em>浅析-内存数据库-ZKDatabase - 知识的力量				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/A/2/3_xfg0218.jpg" alt="xfg0218" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">xfg0218</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">11-26</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						994</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/xfg0218/article/details/53350280" target="_blank" title="zookeeper浅析-内存数据库-ZKDatabase - 知识的力量">
    						<span class="desc oneline">原文来自于:http://blog.sina.com.cn/s/blog_7b9948fd0102w8yv.html
    

    内部数据存储 vs 磁盘数据存储

    对于使用者来讲,zook…

    来自: 知识的力量



    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_65" data-pid="65" data-track-view="{&quot;mod&quot;:&quot;kp_popu_65-84&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_65-84&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad33" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhangjikuan/article/details/54949373,BlogCommendFromQuerySearch_34,index_33&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhangjikuan/article/details/54949373,BlogCommendFromQuerySearch_34,index_33&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/zhangjikuan/article/details/54949373" target="_blank" title="zookeeper API常用函数功能与参数详解 - zhangjikuan的专栏">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>zookeeper</em> API常用函数功能与参数详解 - zhangjikuan的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/A/2/3_zhangjikuan.jpg" alt="zhangjikuan" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">zhangjikuan</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">02-09</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						587</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/zhangjikuan/article/details/54949373" target="_blank" title="zookeeper API常用函数功能与参数详解 - zhangjikuan的专栏">
    						<span class="desc oneline">1. zookeeper初始化
    

     

    [html] view
    plain copy

     print?

    zhandle_t *zookeeper_init(const char *hos…

    来自: zhangjikuan的专栏



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/the_fool_/article/details/80926882,BlogCommendFromQuerySearch_35,index_34&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/the_fool_/article/details/80926882,BlogCommendFromQuerySearch_35,index_34&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/the_fool_/article/details/80926882" target="_blank" title="【Zookeeper02】ZK的作用以及使用 - the_fool_的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					【<em>Zookeeper</em>02】ZK的作用以及使用 - the_fool_的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/1/7/E/3_the_fool_.jpg" alt="the_fool_" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">the_fool_</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-05</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						249</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/the_fool_/article/details/80926882" target="_blank" title="【Zookeeper02】ZK的作用以及使用 - the_fool_的博客">
    						<span class="desc oneline">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上一篇介绍了ZK的安装以及集群的搭建,这只能算是个软件安装过程,具体是做什么的、怎么用也没有做解释,这一篇中博主就自己的私人理解简单写一下:&nbsp;&nbsp;&nbsp; 1、是什么:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a、Zo...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/the_fool_">来自:	<span class="blog_title"> the_fool_的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qiangzhuangchao4049/article/details/54316974,BlogCommendFromQuerySearch_36,index_35&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qiangzhuangchao4049/article/details/54316974,BlogCommendFromQuerySearch_36,index_35&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qiangzhuangchao4049/article/details/54316974" target="_blank" title="Zookeeper选举机制 - qiangzhuangchao4049的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>Zookeeper</em>选举机制 - qiangzhuangchao4049的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/E/6/3/3_qiangzhuangchao4049.jpg" alt="qiangzhuangchao4049" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qiangzhuangchao4049</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">01-10</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						881</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qiangzhuangchao4049/article/details/54316974" target="_blank" title="Zookeeper选举机制 - qiangzhuangchao4049的博客">
    						<span class="desc oneline">Zookeeper选举机制Zk的选举机制,是基于Paxos这个算法来实现,这个算法的核心思想是: 
    

    要解决在分布式环境下,就某一个协议达成一致的算法。
    zk 用的是fast paxos 算法,相当…

    来自: qiangzhuangchao4049的博客



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qD_Dp/article/details/76578014,BlogCommendFromBaidu_37,index_36&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qD_Dp/article/details/76578014,BlogCommendFromBaidu_37,index_36&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/qD_Dp/article/details/76578014" target="_blank" title="Zookeeper在集群中的作用 - qD_Dp的博客">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>Zookeeper</em>在集群中的作用 - qD_Dp的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/3/E/C/3_qd_dp.jpg" alt="qD_Dp" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">qD_Dp</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">08-02</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1331</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/qD_Dp/article/details/76578014" target="_blank" title="Zookeeper在集群中的作用 - qD_Dp的博客">
    						<span class="desc oneline">Zookeeper是什么
    

    是一个为用户的分布式应用程序提供协调的服务
    也是为别的分布式程序服务的
    本身也是一个分布式程序(只要半数以上节点存储,就能正常提供服务)
    集群里解决的问题:Zookeeper…

    来自: qD_Dp的博客



    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xinguan1267/article/details/38422149,BlogCommendFromBaidu_38,index_37&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xinguan1267/article/details/38422149,BlogCommendFromBaidu_38,index_37&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/xinguan1267/article/details/38422149" target="_blank" title="ZooKeeper原理及使用 - 就是你的博客">
    			<h4 class="text-truncate oneline" style="width: 601px;">
    					<em>ZooKeeper</em>原理及使用 - 就是你的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/0/9/3_xinguan1267.jpg" alt="xinguan1267" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">xinguan1267</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">08-07</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						17.9万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/xinguan1267/article/details/38422149" target="_blank" title="ZooKeeper原理及使用 - 就是你的博客">
    						<span class="desc oneline">ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/xinguan1267">来自:	<span class="blog_title"> 就是你的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_66" data-pid="66" data-track-view="{&quot;mod&quot;:&quot;kp_popu_66-87&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_66-87&quot;,&quot;con&quot;:&quot;,,&quot;}"><div id="three_ad38" class="mediav_ad"></div>
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wangzhanzheng/article/details/54880919,BlogCommendFromBaidu_39,index_38&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wangzhanzheng/article/details/54880919,BlogCommendFromBaidu_39,index_38&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/wangzhanzheng/article/details/54880919" target="_blank" title="dubbo+zookeeper背景用途介绍 - .zz的博客">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					dubbo+<em>zookeeper</em>背景<em>用途</em>介绍 - .zz的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/6/E/B/3_wangzhanzheng.jpg" alt="wangzhanzheng" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">wangzhanzheng</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">02-05</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2475</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/wangzhanzheng/article/details/54880919" target="_blank" title="dubbo+zookeeper背景用途介绍 - .zz的博客">
    						<span class="desc oneline">我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就是分布...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/wangzhanzheng">来自:	<span class="blog_title"> .zz的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wzhyanshen/article/details/81060352,BlogCommendFromBaidu_40,index_39&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wzhyanshen/article/details/81060352,BlogCommendFromBaidu_40,index_39&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/wzhyanshen/article/details/81060352" target="_blank" title="zookeeper用途详细介绍 - wzhyanshen的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>zookeeper</em><em>用途</em>详细介绍 - wzhyanshen的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/6/4/1/3_wzhyanshen.jpg" alt="wzhyanshen" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">wzhyanshen</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-16</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						178</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/wzhyanshen/article/details/81060352" target="_blank" title="zookeeper用途详细介绍 - wzhyanshen的博客">
    						<span class="desc oneline">Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zo...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/wzhyanshen">来自:	<span class="blog_title"> wzhyanshen的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yunpiao123456/article/details/51888342,BlogCommendFromBaidu_41,index_40&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yunpiao123456/article/details/51888342,BlogCommendFromBaidu_41,index_40&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/yunpiao123456/article/details/51888342" target="_blank" title="Zookeeper基本原理与应用场景 - yunpiao123456的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>Zookeeper</em>基本原理与应用场景 - yunpiao123456的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/B/6/C/3_yunpiao123456.jpg" alt="yunpiao123456" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">yunpiao123456</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-12</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						3819</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/yunpiao123456/article/details/51888342" target="_blank" title="Zookeeper基本原理与应用场景 - yunpiao123456的专栏">
    						<span class="desc oneline">Zookeeper是一个针对大型分布式系统的可靠协调系统。提供的功能包括:配置维护、名字服务、分布式同步、组服务等。目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/yunpiao123456">来自:	<span class="blog_title"> yunpiao123456的专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_40083942/article/details/78484099,BlogCommendFromQuerySearch_42,index_41&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_40083942/article/details/78484099,BlogCommendFromQuerySearch_42,index_41&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/weixin_40083942/article/details/78484099" target="_blank" title="zookeeper选举机制 - 昨天感冒了的博客">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>zookeeper</em>选举机制 - 昨天感冒了的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/E/7/0/3_weixin_40083942.jpg" alt="weixin_40083942" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">weixin_40083942</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">11-08</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						2006</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/weixin_40083942/article/details/78484099" target="_blank" title="zookeeper选举机制 - 昨天感冒了的博客">
    						<span class="desc oneline">什么是zookeeper?    zookeeper是一个分布式应用程序协调服务、开源的组件,有分布式服务的基本都可以用zookeeper。
    zookeeper有三种角色的节点,分别是Lead...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/weixin_40083942">来自:	<span class="blog_title"> 昨天感冒了的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012164393/article/details/79803613,BlogCommendFromQuerySearch_43,index_42&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/u012164393/article/details/79803613" target="_blank" title="centos7+dubbo+zookeeper集群-完整教程(亲测) - 花花花、小伙的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					centos7+dubbo+<em>zookeeper</em>集群-完整教程(亲测) - 花花花、小伙的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/D/0/3_u012164393.jpg" alt="u012164393" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">u012164393</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">04-03</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						284</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/u012164393/article/details/79803613" target="_blank" title="centos7+dubbo+zookeeper集群-完整教程(亲测) - 花花花、小伙的博客">
    						<span class="desc oneline">&nbsp;
    

    一、环境:

         2个提供者服务程序(java,dubbo内部启动方式),3台虚拟机分别安装java1.8,tomcat8,zookeeper3.4.11。

    二、目标:

         zo…

    来自: 花花花、小伙的博客



    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_67" data-pid="67" data-track-view="{&quot;mod&quot;:&quot;kp_popu_67-658&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_67-658&quot;,&quot;con&quot;:&quot;,,&quot;}"><script type="text/javascript">
    (function() {
        var s = "_" + Math.random().toString(36).slice(2);
        document.write('<div style="" id="' + s + '"></div>');
        (window.slotbydup = window.slotbydup || []).push({
            id: "u3573058",
            container:  s
        });
    })();
    

    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhaoyangjian724/article/details/51899823,BlogCommendFromQuerySearch_44,index_43&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/zhaoyangjian724/article/details/51899823" target="_blank" title="zookeeper 分布式应用好处 - zhaoyangjian724的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>zookeeper</em> 分布式应用好处 - zhaoyangjian724的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/7/9/E/3_zhaoyangjian724.jpg" alt="zhaoyangjian724" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">zhaoyangjian724</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-13</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1616</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/zhaoyangjian724/article/details/51899823" target="_blank" title="zookeeper 分布式应用好处 - zhaoyangjian724的专栏">
    						<span class="desc oneline">举个例子 比如我以前通过haproxy 负载两台tomcat8082 比如api01 api02 以前发布 重启tomcat8082 端口打开了但是服务还没启动完毕 此时访问会出错
    

    这样就实现了所谓…

    来自: zhaoyangjian724的专栏



    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/LANGZI7758521/article/details/52513501,BlogCommendFromQuerySearch_45,index_44&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/LANGZI7758521/article/details/52513501" target="_blank" title="一篇详细介绍Hadoop系统组成部分及其功能的文章 - LANGZI7758521的专栏">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					一篇详细介绍Hadoop系统组成部分及其功能的文章 - LANGZI7758521的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/8/1/3/3_langzi7758521.jpg" alt="LANGZI7758521" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">LANGZI7758521</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">09-12</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						818</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/LANGZI7758521/article/details/52513501" target="_blank" title="一篇详细介绍Hadoop系统组成部分及其功能的文章 - LANGZI7758521的专栏">
    						<span class="desc oneline">Hadoop与分布式数据处理
    

    如今Apache Hadoop已成为大数据行业发展背后的驱动力。Hive和Pig等技术也经常被提到,但是他们都有什么功能,为什么会需要奇怪的名字(如Oozie,Zo…

    来自: LANGZI7758521的专栏



    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u013068377/article/details/52620647,BlogCommendFromQuerySearch_46,index_45&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/u013068377/article/details/52620647" target="_blank" title="Zookeeper基本概念及工作原理 - Wells 的专栏">
    			<h4 class="text-truncate oneline" style="width: 611px;">
    					<em>Zookeeper</em>基本概念及工作原理 - Wells 的专栏				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/6/A/8/3_u013068377.jpg" alt="u013068377" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">u013068377</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">09-22</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						3060</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/u013068377/article/details/52620647" target="_blank" title="Zookeeper基本概念及工作原理 - Wells 的专栏">
    						<span class="desc oneline">ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/u013068377">来自:	<span class="blog_title"> Wells 的专栏</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zcanxue/article/details/79518966,BlogCommendFromBaidu_47,index_46&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/zcanxue/article/details/79518966" target="_blank" title="Zookeeper可以干什么 - zcanxue的博客">
    			<h4 class="text-truncate oneline" style="width: 619px;">
    					<em>Zookeeper</em>可以干什么 - zcanxue的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/A/4/F/3_zcanxue.jpg" alt="zcanxue" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">zcanxue</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">03-11</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						757</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/zcanxue/article/details/79518966" target="_blank" title="Zookeeper可以干什么 - zcanxue的博客">
    						<span class="desc oneline">Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookee...</span>
    					</a>
                        						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/zcanxue">来自:	<span class="blog_title"> zcanxue的博客</span></a></span>
                        					</p>
    		</div>
    				</div>
    
    
    
    
    			<div class="recommend-item-box recommend-download-box clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/qq_33227218/10406756,BlogCommendFromQuerySearch_48,index_47&quot;}" data-flg="true">
    		<a href="https://download.csdn.net/download/qq_33227218/10406756" target="_blank">
    			<div class="content">
    				<div class="">
    					<span class="type">下载</span>
    					<h4 class="text-truncate oneline clearfix">
    						<em>Zookeeper</em>入门到精通的视频教程(百度云链接) - 十小时						</h4>
    					<span class="data float-right">05-10</span>
    				</div>
    				<div class="desc oneline">
    						分享一套Zookeeper入门到精通的视频教程
    

    这套教程主要内容包括Zookeeper深入、客户端开发(Java编程,案例开发)、日常运维、Web界面监控,“一条龙”的实战平台分享给大家。
    共涉及到以下8个部分的内容:
    第1讲、Zooke…


    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_68" data-pid="68" data-track-click="{&quot;mod&quot;:&quot;kp_popu_68-659&quot;,&quot;con&quot;:&quot;,,&quot;}"><script type="text/javascript">
    (function() {
        var s = "_" + Math.random().toString(36).slice(2);
        document.write('<div style="" id="' + s + '"></div>');
        (window.slotbydup = window.slotbydup || []).push({
            id: "u3573059",
            container:  s
        });
    })();
    

    		<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/q412774506/article/details/47003691,BlogCommendFromQuerySearch_49,index_48&quot;}" data-flg="true">
    		<div class="content" style="width: 702px;">
    			<a href="https://blog.csdn.net/q412774506/article/details/47003691" target="_blank" title="基于zookeeper的redis高可用 - 雲的博客">
    			<h4 class="text-truncate oneline" style="width: 609px;">
    					基于<em>zookeeper</em>的redis高可用 - 雲的博客				</h4>
    			<div class="info-box d-flex align-content-center">
    				<!-- <p class="avatar">
    						<img src="https://avatar.csdn.net/0/0/B/3_q412774506.jpg" alt="q412774506" class="avatar-pic">
    						<span class="namebox">
    							<span class="name">q412774506</span>
    							<span class="triangle"></span>
    						</span>
    				</p> -->
    				<p class="date-and-readNum">
    					<span class="date hover-show">07-22</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xlink:href="#csdnc-m-passwords-visible"></use>
    						</svg>
    						1.1万</span>
    					</p>
    				</div>
    			</a>
    				<p class="content" style="width: 702px;">
    					<a href="https://blog.csdn.net/q412774506/article/details/47003691" target="_blank" title="基于zookeeper的redis高可用 - 雲的博客">
    						<span class="desc oneline">基于zookeeper的redis高可用
    

    一. 程序设计
    (一) 基于zookeeper的节点在客户端监测redis集群的状态,并获取主服务器IP
    1. 编写zookeeper对监测re…

    来自: 雲的博客



            <div class="recommend-loading-box">
                <img src="https://csdnimg.cn/release/phoenix/images/feedLoading.gif">
            </div>
            <div class="recommend-end-box" style="display: block;">
                <p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
            </div>
        </div>
    </main>
    
    <aside>
    	    <div id="asideProfile" class="aside-box">
    <!-- <h3 class="aside-title">个人资料</h3> -->
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/weisg81">
                <img src="https://avatar.csdn.net/1/2/3/3_weisg81.jpg" class="avatar_pic">
            </a>
        </div>
        <div class="user-info d-flex justify-content-center flex-column">
            <p class="name csdn-tracking-statistics tracking-click" data-mod="popu_379">
                <a href="https://blog.csdn.net/weisg81" target="_blank" class="" id="uid">wbsjhbl</a>
            </p>
                    </div>
                <div class="opt-box d-flex justify-content-center flex-column">
            <span class="csdn-tracking-statistics tracking-click" data-mod="popu_379">
                <a class="btn btn-sm btn-red-hollow attention" id="btnAttent" target="_blank">关注</a>
            </span>
                    </div>
            </div>
    <div class="data-info d-flex item-tiling">
                <dl class="text-center" title="57">
                        <dt><a href="https://blog.csdn.net/weisg81?t=1">原创</a></dt>
            <dd><a href="https://blog.csdn.net/weisg81?t=1"><span class="count">57</span></a></dd>
                    </dl>
        <dl class="text-center" id="fanBox" title="6">
            <dt>粉丝</dt>
            <dd><span class="count" id="fan">6</span></dd>
        </dl>
        <dl class="text-center" title="15">
            <dt>喜欢</dt>
            <dd><span class="count">15</span></dd>
        </dl>
        <dl class="text-center" title="3">
            <dt>评论</dt>
            <dd><span class="count">3</span></dd>
        </dl>
    </div>
    <div class="grade-box clearfix">
        <dl>
            <dt>等级:</dt>
            <dd>
                <a href="https://blog.csdn.net/home/help.html#level" title="4级,点击查看等级说明" target="_blank">
                    <svg class="icon icon-level" aria-hidden="true">
                        <use xlink:href="#csdnc-bloglevel-4"></use>
                    </svg>
                </a>
            </dd>
        </dl>
        <dl>
            <dt>访问:</dt>
            <dd title="45733">
                4万+            </dd>
        </dl>
        <dl>
            <dt>积分:</dt>
            <dd title="1068">
                1068            </dd>
        </dl>
        <dl title="56997">
            <dt>排名:</dt>
            <dd>5万+</dd>
        </dl>
    </div>
        <div class="badge-box d-flex">
        <span>勋章:</span>
                        <div class="icon-badge" title="持之以恒">
            <div class="mouse-box">
                <svg class="icon" aria-hidden="true">
                    <use xlink:href="#csdnc-m-lasting"></use>
                </svg>
                <div class="icon-arrow"></div>
            </div>
            <div class="grade-detail-box">
                <div class="pos-box">
                    <div class="left-box d-flex justify-content-center align-items-center flex-column">
                        <svg class="icon" aria-hidden="true">
                            <use xlink:href="#csdnc-m-lasting"></use>
                        </svg>
                        <p>持之以恒</p>
                    </div>
                    <div class="right-box d-flex justify-content-center align-items-center">
                        授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
                    </div>
                </div>
            </div>
        </div>
                                                <script>
            (function ($) {
                setTimeout(function(){
                    $('div.icon-badge.show-moment').removeClass('show-moment');
                }, 5000);
            })(window.jQuery)
        </script>
    </div>
    </div>
    	    <div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-mod="popu_4" style="height:250px;" st7jlt4="" hidden="">
    <div class="aside-content text-center" id="cpro_u2734133">
      <div id="kp_box_56" data-pid="56" data-track-view="{&quot;mod&quot;:&quot;kp_popu_56-672&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_56-672&quot;,&quot;con&quot;:&quot;,,&quot;}"><script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    

    最新评论

    	<div class="aside-box">
    		<div id="kp_box_57" data-pid="57" data-track-click="{&quot;mod&quot;:&quot;kp_popu_57-77&quot;,&quot;con&quot;:&quot;,,&quot;}"><script type="text/javascript" src="//rabc1.iteye.com/common/web/site/9i6gu.js?av=neunkwb"></script></div>		</div>
    			<div class="aside-box">
    		<div class="persion_article">
    		<div class="right_box footer_box csdn-tracking-statistics" data-mod="popu_475" data-dsm="post">        <h3 class="feed_new_tit"><span class="line"></span><span class="txt">联系我们</span></h3>        <div class="contact-box" id="footer-contact-box"><div class="img-box"><a href="https://bbs.csdn.net/forums/Service?utm_source=csdn_footer" target="_blank"><img src="https://csdnimg.cn/pubfooter/images/csdn_cs_qr.png" alt="微信客服" style="padding: 6px;"></a><p class="app-text">微信客服</p></div><div class="img-box fr"><a href="https://blog.csdn.net/csdnnews?utm_source=csdn_footer" target="_blank"><img src="//csdnimg.cn/pubfooter/images/csdn-zx.png" alt="官方公众号" style="padding: 6px;"></a><p class="app-text">官方公众号</p></div></div>        <div class="contact-info">        <p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.167 2h11.666C14.478 2 15 2.576 15 3.286v9.428c0 .71-.522 1.286-1.167 1.286H2.167C1.522 14 1 13.424 1 12.714V3.286C1 2.576 1.522 2 2.167 2zm-.164 3v1L8 10l6-4V5L8 9 2.003 5z" fill="#5c5c5c" fill-rule="evenodd"></path></svg><a href="mailto:webmaster@csdn.net" target="_blank"><span class="txt">kefu@csdn.net</span></a>        <em class="width126"><svg t="1538013544186" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23556" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M902.60033922 650.96445566c-18.0718526-100.84369837-94.08399771-166.87723736-94.08399771-166.87723737 10.87530062-91.53186599-28.94715402-107.78733693-28.94715401-107.78733691C771.20003413 93.08221664 517.34798062 98.02553561 511.98620441 98.16348824 506.65661791 98.02553561 252.75857992 93.08221664 244.43541101 376.29988138c0 0-39.79946279 16.25547094-28.947154 107.78733691 0 0-75.98915247 66.03353901-94.0839977 166.87723737 0 0-9.63372291 170.35365477 86.84146124 20.85850523 0 0 21.70461757 56.79068296 61.50407954 107.78733692 0 0-71.1607951 23.19910867-65.11385185 83.46161052 0 0-2.43717093 67.16015592 151.93232126 62.56172014 0 0 108.5460788-8.0932473 141.10300432-52.14626271H526.33792324c32.57991817 44.05301539 141.10300431 52.1462627 141.10300431 52.14626271 154.3235077 4.59843579 151.95071457-62.56172013 151.95071457-62.56172014 6.00095876-60.26250183-65.11385185-83.46161053-65.11385185-83.46161052 39.77647014-50.99665395 61.4810877-107.78733693 61.4810877-107.78733692 96.45219231 149.49514952 86.84146124-20.85850523 86.84146125-20.85850523" p-id="23557" fill="#5c5c5c"></path></svg><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=1&amp;key=XzgwMDE4MDEwNl80ODc3MzVfODAwMTgwMTA2XzJf" class="qqcustomer_s" target="_blank"><span class="txt">QQ客服</span></a></em></p>        <p><em class="width126"><svg t="1538012951761" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23083" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M466.4934485 880.02006511C264.6019863 859.18313878 107.13744214 688.54706608 107.13744214 481.14947309 107.13744214 259.68965394 286.68049114 80.14660493 508.14031029 80.14660493s401.00286817 179.54304901 401.00286814 401.00286816v1.67343191C908.30646249 737.58941724 715.26799489 943.85339507 477.28978337 943.85339507c-31.71423369 0-62.61874229-3.67075386-92.38963569-10.60739903 30.09478346-11.01226158 56.84270313-29.63593923 81.5933008-53.22593095z m-205.13036267-398.87059202a246.77722444 246.77722444 0 0 0 493.5544489 0 30.85052691 30.85052691 0 0 0-61.70105383 0 185.07617062 185.07617062 0 0 1-370.15234125 0 30.85052691 30.85052691 0 0 0-61.70105382 0z" p-id="23084" fill="#5c5c5c"></path></svg><a href="http://bbs.csdn.net/forums/Service" target="_blank"><span class="txt">客服论坛</span></a></em>        <svg t="1538013874294" width="17" height="17" style="" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23784" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M1031.29689505 943.85339507h-863.70679012A71.98456279 71.98456279 0 0 1 95.60554212 871.86883228v-150.85178906c0-28.58329658 16.92325492-54.46750945 43.13135785-65.93861527l227.99160176-99.75813425c10.55341735-4.61543317 18.24580594-14.0082445 20.72896295-25.23643277l23.21211998-105.53417343a71.95757195 71.95757195 0 0 1 70.28414006-56.51881307h236.95255971c33.79252817 0 63.02360485 23.5090192 70.28414004 56.51881307l23.21211997 105.53417343c2.48315701 11.25517912 10.17554562 20.62099961 20.72896296 25.23643277l227.99160177 99.75813425a71.98456279 71.98456279 0 0 1 43.13135783 65.93861527v150.85178906A71.98456279 71.98456279 0 0 1 1031.26990421 943.85339507z m-431.85339506-143.94213475c143.94213474 0 143.94213474-48.34058941 143.94213474-107.96334876s-64.45411922-107.96334877-143.94213474-107.96334877c-79.51500637 0-143.94213474 48.34058941-143.94213475 107.96334877s0 107.96334877 143.94213475 107.96334876zM1103.254467 296.07330247v148.9894213a35.97878598 35.97878598 0 0 1-44.15700966 35.03410667l-143.94213473-33.57660146a36.0057768 36.0057768 0 0 1-27.80056231-35.03410668V296.1002933c-35.97878598-47.98970852-131.95820302-71.98456279-287.91126031-71.98456279S347.53801649 248.11058478 311.53223967 296.1002933v115.385829c0 16.73431906-11.52508749 31.25538946-27.80056233 35.03410668l-143.94213473 33.57660146A35.97878598 35.97878598 0 0 1 95.63253297 445.06272377V296.07330247C162.81272673 152.13116772 330.77670658 80.14660493 599.47049084 80.14660493s436.63077325 71.98456279 503.81096699 215.92669754z" p-id="23785" fill="#5c5c5c"></path></svg>400-660-0108 </p>        <p style="text-align:center">工作时间 8:00-22:00</p>        </div>        <div class="bg-gray">            <div class="feed_copyright">            <p><a class="right-dotte" href="//www.csdn.net/company/index.html#about" target="_blank">关于我们</a><a href="//www.csdn.net/company/index.html#recruit" target="_blank" class="right-dotte">招聘</a><a href="//www.csdn.net/company/index.html#contact" target="_blank" class="right-dotte">广告服务</a>            <a href="https://www.csdn.net/gather/A" target="_blank" class="footer_baidu">            网站地图</a></p>            <p class="fz12_baidu"><a href="https://zn.baidu.com/cse/home/index" target="_blank"><svg width="13" height="14" xmlns="http://www.w3.org/2000/svg"><path d="M8.392 7.013c1.014 1.454 2.753 2.8 2.753 2.8s1.303 1.017.47 2.98c-.833 1.962-3.876.942-3.876.942s-1.122-.36-2.424-.072c-1.303.291-2.426.181-2.426.181s-1.523.037-1.957-1.888c-.434-1.927 1.52-2.982 1.666-3.161.145-.183 1.159-.873 1.81-1.963.653-1.09 2.608-1.962 3.984.181zm1.23 5.706V9.346H8.64v2.534h-.937s-.3-.044-.356-.285V9.33l-.925.015v2.518s.042.627.925.855h2.277zm-3.685.013V7.951l-.896-.014v1.295H3.987s-1.054.086-1.422 1.28c-.129.798.114 1.266.156 1.368.043.099.383.682 1.238.852h1.978zm-2.433-1.45c-.087-.286.013-.613.057-.741.042-.128.228-.427.61-.54h.855v1.948h-.797s-.555-.029-.725-.668zm6.877-8.775c-.143.909-.865 2.108-1.99 1.962-1.121-.144-1.375-1.16-1.267-2.179C7.214 1.458 8.21.18 9.007.364c.796.18 1.52 1.235 1.374 2.143zm-4.09-.345c0 1.197-.68 2.164-1.52 2.164S3.25 3.36 3.25 2.162C3.25.967 3.932 0 4.77 0c.842 0 1.52.967 1.52 2.162zm4.854 2.09c1.34 0 1.701 1.309 1.701 1.743 0 .438.182 2.29-1.485 2.326-1.667.037-1.737-1.126-1.737-1.96 0-.874.179-2.11 1.52-2.11zm-7.93.581c.045.398.253 2.217-1.27 2.544C.427 7.704-.14 5.947.028 5.124c0 0 .18-1.78 1.412-1.89.98-.085 1.7.986 1.774 1.6z" fill="#999" fill-rule="evenodd"></path></svg><em>百度提供站内搜索</em></a>&nbsp;<a href="http://www.miibeian.gov.cn/" target="_blank" class="ml14">京ICP证09002463号</a></p>            <p class="fz12_baidu">©1999-2018 江苏乐知网络技术有限公司 </p>            <p class="fz12_baidu" style="width:268px">江苏知之为计算机有限公司 北京创新乐知信息技术有限公司版权所有 </p>            </div>        </div>        <div class="allow-info-box">        <p><a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" target="_blank"><span>经营性网站备案信息</span></a>        <em class="width126"><a href="http://www.cyberpolice.cn/" target="_blank"><span>网络110报警服务</span></a></em></p>        <p><a href="http://www.bjjubao.org/" target="_blank"><span>北京互联网违法和不良信息举报中心</span></a></p>        <p><a href="http://www.12377.cn/" target="_blank"><span>中国互联网举报中心</span></a></p>        </div>        </div></div>
    	</div>
    </div>
    
    Logo

    权威|前沿|技术|干货|国内首个API全生命周期开发者社区

    更多推荐