Zookeeper到底是什么?可以从Zookeeper提供的功能来理解。本篇小作文就是使用其提供的功能之一:数据发布与订阅。

  需求:服务端开启多个实例提供服务,客户端使用服务。如果服务端某个服务下线或者新服务上线,客户端可感知并与客户端断开或者接连服务端。

  分析:利用Zookeeper作为注册中心,服务端进行注册,客户端读取注册信息。

  实现:

    一、服务器端启动时自动将ip/port注册到Zookeeper

      1、注册时点:服务端绑定端口后注册

         

        

      2、注册具体实现:

        

      3、验证:

        启动两个服务端实例,查看Zookeeper节点信息(Zookeeper服务端启动,参考CentOS8系统上Zookeeper安装启动 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)

        1)未启动服务端实例前,Zookeeper节点信息

          

          具体节点信息

          

        2)启动一个服务127.0.0.1:8899,查看节点信息

          

          

        3)启动一个服务127.0.0.1:8989,查看节点信息

          

    二、客户端启动使用浏览器访问服务端时,自动捕获服务实例上下线地同时链接服务器端

      1、仅初始两个服务:8899和8989

        

         

      2、上线一个服务:127.0.0.1:8889

        

        

        

      3、下线一个服务

        

        

        

    以上是客户端结果验证,那么是如何实现的呢?

      分析:客户端访问服务器端,重点是获得服务端的ip:port。如果没有Zookeeper注册中心提供数据的发布(此案例中服务端ip:port作为数据发布到Zookeeper相关节点),那么客户端可能就需要硬编码,如下:

      

      一旦有新的服务实例上线或者某个服务下线,那么就得重新编写代码。如果是生产环境,服务由于某种未知原因下线,那么会直接影响生产运行。

      客户端如何利用Zookeeper实现客户端订阅注册信息数据信息的呢?此案例订阅的事lf_provider节点下所有子节点的数据信息,具体实现如下:

      1、链接Zookeeper服务

        

      2、获取注册中心数据信息(ip:port 列表)

        

      3、新建客户端实例链接所有地址信息建立客户端链接列表

        

      4、实际业务逻辑中随机使用一个客户端链接

        

  以上就是Zookeeper应用之一~数据发布与订阅,在实际业务中解决共享数据的集中管理及动态更新并动态获取数据。

  在以上体验中,用到了Zookeeper提供的API及命令行,后续将分别介绍。

      

        

    

Zookeeper应用之一:数据发布与订阅初体验的更多相关文章

  1. ZooKeeper 典型应用场景-数据发布与订阅

    ZooKeeper 是一个高可用的分布式数据管理与系统协调框架.基于对 Paxos 算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得 ZooKeeper 可以解决很多分 ...

  2. Zookeeper学习(八):Zookeeper的数据发布与订阅模式

     http://blog.csdn.net/ZuoAnYinXiang/article/category/6104448 1.发布订阅的基本概念        1.发布订阅模式可以看成一对多的关系:多 ...

  3. OpenStack最新版本--Victoria发布亮点与初体验

    前言 `OpenStack`是一个云操作系统,可控制整个数据中心内的大型计算,存储和网络资源池,所有资源均通过具有通用身份验证机制的`API`进行管理和配置. 还提供了一个仪表板,可让管理员进行控制, ...

  4. Dubbo基础一之实战初体验

    本以为写这个小作文没什么难度的,可是好像并不是.前段时间重心放在驾考科目二,就想着小作文科二考过了再写也不是事,因为都实战过了.今天想着写却发现脑袋里啥都想不起来了,得翻项目和笔记回忆一下.所以还是那 ...

  5. SQLServer 中发布与订阅

    在对数据库做迁移的时候,会有很多方法,用存储过程,job,也可以用开源工具kettle,那么今天这些天变接触到了一种新的方法,就是SqlServer中自带的发布与订阅. 首先说明一下数据复制的流程.如 ...

  6. 发布与订阅SQLServer

    SQLServer 中发布与订阅 在对数据库做迁移的时候,会有很多方法,用存储过程,job,也可以用开源工具lettle,那么今天这些天变接触到了一种新的方法,就是SqlServer中自带的发布与订阅 ...

  7. (原)3.2 Zookeeper应用 - 数据的发布与订阅

    本文为原创文章,转载请注明出处,谢谢 数据的发布与订阅 1.应用 服务端监听数据改变,客户端创建/更新节点数据,客户端提供数据,服务端处理 2.原理 客户端监控节点数据改变事件(例如配置信息,下图的c ...

  8. Zookeeper实现数据的发布和订阅

    使用场景        当一个对象的改变,需要通知其他对象而且不知道要通知多少个对象,可以使用发布订阅模式 .在分布式中的应用有配置管理(Configuration Management) .集群管理 ...

  9. SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

    概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请 ...

随机推荐

  1. powershell基础知识

    基本命令 我们先从最基本的命令入手,Windows Powershell命令中get类命令是很庞大的一个命令工具集合,而且get类命令也是Powershell中占比最大的. 1.Get-Alias G ...

  2. Solon Web 开发,八、校验、及定制与扩展

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  3. 【刷题-LeetCode】236. Lowest Common Ancestor of a Binary Tree

    Lowest Common Ancestor of a Binary Tree Given a binary tree, find the lowest common ancestor (LCA) o ...

  4. 搭建vps(virtual private station)之Github教育礼包之DigitalOcean

    最近Github联合很多业内厂商给出了一份学生礼包,可以用来做很多事情,其中包括Digital Ocean的100$优惠,用他可以架设自己的云服务器,选择每月5$套餐可获得512Mb内存20g固态硬盘 ...

  5. 用python设计猜大小的游戏

    import random def roll_dice(numbers = 3,points = None): print("------摇骰子------") if points ...

  6. K8S探针和SVC,POD原理

    (6)容器是否健康: spec.container.livenessProbe.若不健康,则Pod有可能被重启(可配置策略)   (7)容器是否可用: spec.container.readiness ...

  7. 论文解读(DFCN)《Deep Fusion Clustering Network》

    Paper information Titile:Deep Fusion Clustering Network Authors:Wenxuan Tu, Sihang Zhou, Xinwang Liu ...

  8. IDEA导入建立图标类型的包失败

    开发安卓app时当我导入下面的包时,显示包名变红,并且包不可用,这可能与你建立的项目类型有关. MPAndroidChart包是建立图标类型的包,需要自己下载并添加进libs目录 解决方案是在libs ...

  9. ApacheCN 数据科学译文集 2020.8

    协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3.c 在线阅读 ApacheCN 面试求职交流群 724187166 Apach ...

  10. Git常用命令(超实用)

    Git常用命令 一.Git常用命令 1.1 创建SSH Key 1.2 仓库 1.3 增加/删除文件 1.4 代码提交 1.5 分支 1.6 标签 1.7 查看信息 1.8 远程同步 1.9 撤销 1 ...