微服务系统中服务注册与发现Zookeeper的使用

这篇具有很好参考价值的文章主要介绍了微服务系统中服务注册与发现Zookeeper的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    Zookeeper可以认为是一个分布式协调服务指挥官,每个微服务启动的时候把自己的IP、端口注册到Zookeeper服务中心,而其它调用这个服务的业务要调用这个微服务时直接就拿到可以服务的对象列表,然后业务自己根据一定的规则调用服务即可。

    Zookeeper的下载地址:Apache ZooKeeper 在linux服务器下直接wget Apache Download Mirrors 解压后修改配置目录conf下的zoo_sample.cfg为zoo.cfg。然后修改几个配置:

#dataDir:数据目录
#如果是在linux服务器上就直接使用这个默认的配置
dataDir=/tmp/zookeeper
#如果是在windows上就需要把这个dataDir改成当前zookeeper所在目录
dataDir=D:\zookeeper3.6.2

# adminPORT。默认是8080,但服务器上8080一般是JAVA端口,不改很可能冲突
admin.serverPort=8081
#端口冲突时报错如下:
org.apache.zookeeper.server.admin.AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands
        at org.apache.zookeeper.server.admin.JettyAdminServer.start(JettyAdminServer.java:180)
        at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:153)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:112)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:67)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:140)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:90)
Caused by: java.io.IOException: Failed to bind to /0.0.0.0:8080
        at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346)
        at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)

    进入到zookeeper的bin目录如/opt/zookeeper/zookeeper/bin下,有很多执行文件包括.sh, .cmd即zoopkeepr可以很方便地直接在windows和linux上运行。当前我这里是linux,所以用zkServer.sh,--help查看一下,有一些选项。

    建议一开始排错的时候使用start-foreground参数方便直接显示出错误,好排查。没有问题后再zkServer.sh start后台运行。成功之后2181端口和8081端口即已经监听运行。

[root@04007 bin]# pwd
/opt/zookeeper/zookeeper/bin
[root@04007 bin]#  ./zkServer.sh --help
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper/bin/../conf/zoo.cfg
Usage: ./zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|version|restart|status|print-cmd}
#启动zookeeper服务器端:
[root@04007 bin]# ./zkServer.sh start-foreground
...
[root@04007 bin]# netstat -anp | grep 2181
tcp        0      0 0.0.0.0:2181                0.0.0.0:*                   LISTEN      26529/java          
[root@04007 bin]# netstat -anp | grep 8081
tcp        0      0 0.0.0.0:8081                0.0.0.0:*                   LISTEN      26529/java

    服务启动后,可以在linux服务器上可以运行bin目录下的zkCli.sh连接服务端,在windows下可以使用zkCli.cmd连接,以进行添加节点删除节点等操作。除此之外,Zookeeper有一个方便的数据查看工具ZooInspector。ZooInspector下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip 。

    不过这个地址我碰到下载下来后不能用的情况(注意看大小,我有时下载下来的只有200来K,正常好像是1500K左右),可以到我的资源里下载。

    解压进入目录ZooInspector\build,运行zookeeper-dev-ZooInspector.jar;刚才讲要改admin.serverPort端口值为8081,就是为了这里能使用,ZooInspector就是连接这个端口来呈现服务器端的节点数据,在运行ZooInspector在弹出的窗口中输入上面的ip和端口8081,即可查看当前的服务注册情况。界面如下:

微服务系统中服务注册与发现Zookeeper的使用,后端扩展技术,微服务,zookeeper,架构文章来源地址https://www.toymoban.com/news/detail-851695.html

到了这里,关于微服务系统中服务注册与发现Zookeeper的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .NET CORE开源 DDD微服务 支持 多租户 单点登录 多级缓存、自动任务、分布式、日志、授权和鉴权 、网关 、注册与发现 系统架构 docker部署

    源代码地址https://github.com/junkai-li/NetCoreKevin 基于NET6搭建跨平台DDD思想WebApi架构、IDS4单点登录、多缓存、自动任务、分布式、多租户、日志、授权和鉴权、CAP、SignalR、 docker部署  如需简约项目可直接去除项目引用 解耦设计都可以单独引用 架构默认全部引用并启动 项目启动时

    2023年04月24日
    浏览(36)
  • 基于 Zookeeper 实现服务注册和服务发现

    无论是采用SOA还是微服务架构,都需要使用服务注册和服务发现组件。我刚开始接触 Dubbo 时一直对服务注册/发现以及 Zookeeper 的作用感到困惑,现在看来是因为对分布式系统的理解不够深入,对 Dubbo 和 Zookeeper 的工作原理不够清楚。 本文将基于 Zookeeper 实现服务注册和服务发

    2024年02月10日
    浏览(32)
  • RPC框架引入zookeeper服务注册与服务发现

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是大数据生态中的重要组件。它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提

    2024年02月14日
    浏览(33)
  • Eureka、Zookeeper、Consul服务注册与发现

    一、Eureka服务注册与发现 1.1 概念 Eureka 是 Netflix 公司开源的一个服务注册与发现的组件 。 Eureka 和其他 Netflix 公司的服务组件(例如负载均衡、熔断器、网关等) 一起,被 Spring Cloud 社区整合为Spring-Cloud-Netflix 模块。 Eureka 包含两个组件:Eureka Server (注册中心) 和 Eureka Clien

    2024年02月02日
    浏览(34)
  • 在Ubuntu 14.04上使用Consul服务发现系统的介绍

    简介 Consul 是一个分布式、高可用、数据中心感知的服务发现和配置系统。它可以用来呈现服务和节点,提供灵活和强大的接口,使客户端始终能够获取其所属基础设施的最新视图。 Consul 提供了许多不同的功能,用于提供关于基础设施的一致和可用信息。这包括服务和节点发

    2024年02月19日
    浏览(30)
  • 如何使用 Avahi 在局域网轻松发现你的系统服务

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 大多数 Linux 用户通常在没有复杂 DNS 服务的路由器上拥有多个 Linux 系统。本文将介绍一种方法,让你不必修改 /etc/hosts 之类文件的情况下实现按名称与多个系统通信。 mDNS 是一种零配置网络服务,它允许

    2024年02月13日
    浏览(28)
  • 微服务-服务的注册与发现(Consul、zookeeper、etcd、eureka、Nacos)

    一. 对比常用的注册中心 Consul、zookeeper、etcd、eureka、Nacos Feature Consul Zookeeper Etcd Eureka Nacos 服务健康检查  服务状态,内存,硬盘等  (弱)长连接,keepalive  连接心跳  可配支持 传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查 多数据中心  支持  —  

    2023年04月19日
    浏览(40)
  • 服务注册与发现Eureka、Zookeeper、Consul 三个注册中心的异同点(CAP理论)

    Eureka Eureka是由Netflix开源的一个服务注册和发现组件,它主要用于构建高可用、分布式系统的基础设施中。Eureka的服务器端被称为Eureka Server,客户端则是那些需要注册的服务。Eureka具有以下特点: 高可用性 :Eureka支持多节点部署,能够在节点故障时自动进行故障转移。 自我

    2024年04月22日
    浏览(25)
  • Zookeeper 实战 | Zookeeper 和Spring Cloud相结合解决分布式锁、服务注册与发现、配置管理

    专栏集锦,大佬们可以收藏以备不时之需: Spring Cloud 专栏: Python 专栏: Redis 专栏: TensorFlow 专栏: Logback 专栏: 量子计算: 量子计算 | 解密著名量子算法Shor算法和Grover算法 AI机器学习实战: AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析 AI机器学习 | 基于lib

    2024年02月05日
    浏览(50)
  • SpringCloud学习笔记(上):服务注册与发现:Eureka、Zookeeper、Consul+负载均衡服务调用:Ribbon

    SpringCloud=分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。 springboot版本选择: git源码地址:https://github.com/spring-projects/spring-boot/releases/ SpringBoot2.0新特性:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release springcloud版本选

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包