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机制和节点特性。

  • 相关阅读:
    Kinect 开发 —— 硬件设备解剖
    Kinect 开发 —— 引言
    (转)OpenCV 基本知识框架
    OpenCV —— 摄像机模型与标定
    OpenCV —— 跟踪与运动
    OpenCV —— 图像局部与分割(二)
    OpenCV —— 图像局部与部分分割(一)
    OpenCV —— 轮廓
    OpenCV —— 直方图与匹配
    OpenCV —— 图像变换
  • 原文地址:https://www.cnblogs.com/jssj/p/14018998.html
Copyright © 2011-2022 走看看