zoukankan      html  css  js  c++  java
  • 《Zookeeper中间件》Zookeeper的应用场景

    前言

    Zookeeper到底能为我们的程序解决一些什么问题呢?

    应用场景

    1. 分布式配置中心

     

    1.1通过Zookeeper的watch监听来实现各个集群节点的配置修改,不用再一台台服务器单独进行修改。

    1.2使用zookeeper的持久化节点来实现配置保存。

    2. 分布式锁

    2.1.APP1 获取锁的时候,创建节点node0000001,APP2 并发获取锁的时候,创建节点node0000002,APP3 并发获取锁的时候,创建节点node0000003.

    2.2.然后APP1判断自己获取到的节点是不是最小的,如果是则获取锁成功,APP2,APP3判断自己的节点都不是最小的所以等待。

    2.3.APP2获取了node0000002所以APP2需要监听比自己小的node0000001什么时候消失,消失APP2就获取锁。 APP获取锁的逻辑和APP2一致。

    2.4.实现zookeeper锁的开源框架有Curator。

    3. 注册中心

    3.1. 各个APP服务都将自己的ip和端口注册到Zookeeper的节点上面,这个节点是临时的,服务消息节点也会消失,各个服务都需要GSV来表示自己。

    3.2. APP服务之间的互相调用,通过Zookeeper去找到对方的服务的地址,然后通过GSV和方法名具体找到实际方法。

    3.3. zookeeper只是提供了节点的特性,实现以上功能的框架有dubbo。

    总结

    以上是zookeeper最常用的几种方式,zookeeper还可以有很多其他的用处,利用他的watch机制和节点特性。

  • 相关阅读:
    String和stringbuffer
    项目中Orcale存储过程优化记录
    大数据项目中的Oracle查询优化
    洛谷P3402 可持久化并查集
    Gym
    CodeForces
    Gym
    Gym
    UVA
    Kattis
  • 原文地址:https://www.cnblogs.com/jssj/p/14018998.html
Copyright © 2011-2022 走看看