微服务SpringCloud开弓之Zookeeper服务注册与发现《四》

Knative Service 是如何指定端口和协议的 如果使用 Knative Serving 部署一个 Nginx 你可能会发现服务起来了,但是无法访问到 Nginx 中的服务。当然这不是 Nginx 的问题,这是因为 Knative 对 Container 的端口有要求。默认 Nginx 的服务端口是 80 ,而 Knative Serving queue 8012 默认是代理到容器的 8080 端口。所以如果业务容器监听的不是 8080 端口默... 阅读详情

Eureka停止更新了

地址

SpringCloud整合Zookeeper替代Eureka

1、注册中心Zookeeper
  • 关闭Linux服务器防火墙后启动Zookeeper服务器

    //临时关闭
    service iptables stop
    //禁止开机启动
    chkconfig iptables off
    
  • Zookeeper服务器取代Eureka服务器,zk作为服务注册中心

2、服务提供者

1、新建cloud-provider-payment8004

2、POM


spring-cloud-starter-zookeeper-discovery

 </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cloud-provider-payment8004</artifactId>
    <description>Zookeeper服务提供者</description>

    <dependencies>
        <dependency>
            <groupId>com.atguigu.springcloud</groupId>
            <artifactId>cloud-api-common</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--SpringBoot整合Zookeeper客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

3、YML

server:
  # 8004表示注册到zookeeper服务器的支付服务提供者端口号
  port: 8004
spring:
  application:
    # 服务别名---注册zookeeper到注册中心的名称
    name: cloud-provider-payment
  cloud:
    zookeeper:
      # 默认localhost:2181
      connect-string: localhost:2181

4、主启动类

@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8004 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8004.class,args);
    }
}

5、Controller

@RestController
@Slf4j
public class PaymentController {

    @Value("${server.port}")
    private  String   serverPort;

    @RequestMapping(value = "payment/zk")
    public String paymentZk() {
        return "SpringCloud with zookeeper:" + serverPort + "\t" + UUID.randomUUID().toString();
    }
}

6、启动8004注册进zookeeper zkServer.sh start

  • 报错

在这里插入图片描述

  • 原因

解决zookeeper版本jar包冲突问题

  • 重新弄Pom文件
<dependencies>
        <dependency>
            <groupId>com.atguigu.springcloud</groupId>
            <artifactId>cloud-api-common</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--SpringBoot整合Zookeeper客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
            <exclusions>
                <!--先排除自带的zookeeper3.5.3-->
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--添加zookeeper3.4.9版本-->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.9</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
  • 验证

    http://localhost:8004/payment/zk

json解析工具地址

在这里插入图片描述

{
  "name": "cloud-provider-payment",
  "id": "6c79f953-21dd-4d45-9dc4-d4e05faaf1de",
  "address": "localhost",
  "port": 8004,
  "sslPort": null,
  "payload": {
    "@class": "org.springframework.cloud.zookeeper.discove.ZookeeperInstance",
    "id": "application-1",
    "name": "cloud-provider-payment",
    "metadata": {}
  },
  "registrationTimeUTC": 1586592028753,
  "serviceType": "DYNAMIC",
  "uriSpec": {
    "parts": [
      {
        "value": "scheme",
        "variable": true
      },
      {
        "value": "://",
        "variable": false
      },
      {
        "value": "address",
        "variable": true
      },
      {
        "value": ":",
        "variable": false
      },
      {
        "value": "port",
        "variable": true
      }
    ]
  }
}

服务节点是临时节点

3、服务消费者
  • 新建cloud-consumerzk-order80

  • POM

    <dependencies>
            <dependency>
                <groupId>com.atguigu.springcloud</groupId>
                <artifactId>cloud-api-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--SpringBoot整合Zookeeper客户端-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
                <exclusions>
                    <!--先排除自带的zookeeper3.5.3-->
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!--添加zookeeper3.4.9版本-->
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.10</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
  • YML

    server:
      port: 80
    spring:
      application:
        # 服务别名
        name: cloud-consumer-order
      cloud:
        zookeeper:
          # 注册到zookeeper地址
          connect-string: 192.168.149.103:2181
    
  • 主启动

    @SpringBootApplication
    @EnableDiscoveryClient
    public class OrderZkMain80 {
        public static void main(String[] args) {
            SpringApplication.run(OrderZkMain80.class, args);
        }
    }
    
  • 业务类

    1、配置been

    @Configuration
    public class ApplicationContextConfig {
        @Bean
        @LoadBalanced
        public RestTemplate getRestTemplate() {
            return new RestTemplate();
        }
    }
    

    2、controller

    @RestController
    @Slf4j
    public class OrderZkController {
        public static final String INVOKE_URL = "http://cloud-provider-payment";
        @Resource
        private RestTemplate restTemplate;
        /**
         * http://localhost/consumer/payment/zk
         *
         * @return
         */
        @GetMapping("/consumer/payment/zk")
        public String paymentInfo() {
            return restTemplate.getForObject(INVOKE_URL + "/payment/zk", String.class);
        }
    }
    
    
  • 验证测试
    在这里插入图片描述
    在这里插入图片描述
    欢迎转载和分享,记得点赞呀

springcloud整合zookeeper springcloud常用的服务注册以及发现组件除了eureka还有zookeeper,这里介绍一下spring cloud整合zookeeper 阅读详情

相关推荐

描边盛开火玫瑰

python描边盛开火玫瑰 代码如下 import turtle as t t.setup(800,800) t.hideturtle() t.speed(11) t.penup() t.goto(50,-450) t.pensize(5) t.pencolor("black") t.seth(140) t.pendown() t.speed(10) t.circle(-300,60) t.fd(100) #jiaodu80 #1ye t.seth(10) t.fd(50) t.fillcolor("gr

weixin_50973371的博客 2062

ZooKeeper概念,特点,原理,设计目标及运行过程

什么是ZooKeeper ? ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。 Zookeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心(提供发布订阅服务)。 服务生产者将自己提供的服务注册到Zoo...

JSai的博客 568

基于Arduino与Velostat的智能鞋垫:DIY足底压力监测系统全解析

压力传感器是物联网和健康监测领域的基础元件,其核心原理是将物理压力转换为可测量的电信号。通过压阻效应,材料的电阻值随压力变化,从而实现压力感知。这项技术为低成本、定制化的健康监测方案提供了可能,尤其在运动分析和康复训练中具有重要价值。本文聚焦于利用Velostat压敏材料和Arduino平台,详细解析如何从传感器制作、信号调理到无线数据传输,构建一套完整的足底压力监测系统。文中深入探讨了传感器阵列构建、信号滤波等关键技术,并针对常见问题提供了实用的解决方案,为创客和开发者实现可穿戴健康监测设备提供了清晰的工

weixin_32818781的博客 399

SpringCloud中集成Zookeeper实现服务注册与发现

场景 SpringCloud中集成Eureka实现服务注册(单机Eureka构建): SpringCloud中集成Eureka实现服务注册(单机Eureka构建)_霸道流氓气质的博客-优快云博客 SpringCloud中集成Eureka实现集群部署服务注册与服务提供者: SpringCloud中集成Eureka实现集群部署服务注册与服务提供者_霸道流氓气质的博客-优快云博客 SpringCloud中集成Eureka时通过Discovery实现服务发现: SpringCloud中集成Eurek

BADAO_LIUMANG_QIZHI的博客 902

Android Studio打包全攻略---从入门到精通

初出茅庐 手动打包怎么手动打包项目写完了,现在需要把应用上传到市场,问题出现—怎么把代码变成.apk(Android的可安装文件)。 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管,不要忘了,签名文件别泄漏了,也别搞丢了为什么要打包我最开始就有这个疑问,我们的代码不是点了下运行按钮就直接安装到手机上了吗,我们在在项目Project

我早就想,要这样载着你,翻山越岭 2万+

r语言svr模型_R语言初探强化学习中的马尔可夫模型

强化学习大家这几年应该不陌生,从AlphaGo到AlphaZero让大家见识到了强化学习的力量。我们今天给大家介绍一个在强化学习中核心思维马尔可夫决策过程(MDP)。马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。今天我们给大家介绍下马尔可夫决策过程中用到一些算法以...

weixin_28994357的博客 1111

阿里云新服务器迁移 IIS类网站

IIS类网站: 1:首先增加功能,安装IIS,允许ASP,ASPX等 配置IIS允许父目录,允许暴露500详细信息 做到这步本地调度:http://127.0.0.1:8013 比如已经调试成功 2:BT下配置新网站,本人采用NG模式 nginx.conf 下补充 注意xxx.com为新网站域名 server { listen 80; server_name xxx.com; charset gb2312; root "c:/web/ai...

xocom的专栏 456

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 707

Nginx安装教程

1、 下载文件 去官网下载 Linux和Windows版本,根据需要下载 2、 安装部署 1)下载完成后,解压缩,到文件夹中; 打开文件\nginx\conf\nginx.conf 修改端口号,改为8013(默认端口80,有时候会提示端口占用,最好不使用80端口) 保存,关闭文件 运行cmd,使用命令进行操作,不要直接双击nginx.exe ...

litong149的博客 281

5.1 Tessent Atpg系列 第八章 Test Pattern Generation - Verify Test Pattern

为什么要做基于timing的仿真,意义在于可以比较ATPG工具和simulator工具的差异性。因为时序的差异导致不同的结果。首先你需要通过write_patern 这句cmd来写出pattern,默认是parallel 模式,除非你用-serial 指定写出serial, 因为serial 文件非常大,所以你可以使用-sample 开关写出部分pattern即可,工具会根据每一种pattern 类型都会至少保存一只。 另外,你也可以使用-start -end 开关来减少文件大小,但是这样的截取,是不可靠的

ciscomonkey的博客 7760

196、NPU的编译器开发:教程与示例代码编写

NPU编译器开发实战指南 摘要:本文分享了NPU编译器开发中的核心挑战与实战经验,通过具体代码示例展示了关键实现技术: 指令生成:必须考虑硬件特性(如地址对齐)和芯片配置抽象化 图优化:重点处理常见冗余结构(Reshape合并、BN融合),并注意数值稳定性 算子拆分:采用分块计算策略适配有限SRAM,需特别注意边界条件处理 内存分配:基于张量使用频率的贪心算法优化SRAM使用效率 文中包含多个真实踩坑案例: DMA地址未对齐导致硬件错误 BN融合时的除零风险 tile边界处理不当引起的精度下降 这些经验为开

m0_50546716的博客 72

各种服务常用端口号的含义

各种服务常用端口号: 1,HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098 2,SOCKS代理协议服务器常用端口号:1080 3,FTP(文件传输)协议代理服务器常用端口号:21 4,Telnet(远程登录)协议代理服务器常用端口号:23 5,HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口) 6,HTTPS(securely transferring web pages)服务器,默认端口号为443/tcp 443/udp 7,Telnet(不安全的文本

古月哲亭 1万+

【第一章】基于Simulink的控制器开发教程——目录

摘要:本文系统介绍了基于Simulink的控制器开发方法,涵盖PID、状态反馈、模型预测(MPC)、模糊控制、自适应控制等8类主流控制器。针对每种控制器,详细阐述了其基本原理、适用场景,并通过Simulink建模与仿真测试进行实践验证。文章采用"理论+实践"的结构,从算法设计到硬件实现全流程展开,为汽车、航空航天、工业控制等领域的控制器开发提供完整解决方案,最后通过应用对比与学习总结帮助读者掌握不同控制器的核心特性和应用场景。(149字)

熟悉MATLAB/fpga/RK3588/LABVIEW/protus/单片机/dsp/Multisim 385

Spring Cloud 整合Zookeeper解决jar包冲突

启动后问题 解决办法:取出Spring Cloud自带版本Zookeeper,添加自己使用版本依赖即可 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> <!--排除zk

FireCode的博客 696

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

spring-cloud使用zookeeper作为服务注册发现中心

spring-cloud默认使用eureka作为服务注册发现中心,使用zookeeper作为服务注册发现中心需要依赖spring-cloud-starter-zookeeper-discovery 新建工程 <groupId>com.wl.springcloud</groupId> <artifactId>zookeeper</artifactId&...

wl的博客 3277

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Spring cloud整合zookeeper

Spring cloud整合zookeeper pom.xml依赖 spring cloud整合zookeeper需要依赖spring-cloud-starter-zookeeper-discovery <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifac

qq_43203949的博客 353

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

前端配置文件端口是8013,打开网页的地址却变成了8014

原因:因为我先打开了VScode编译器运行,又打开了IDea运行。8013端口被VScode被占用了,再用IDea运行时自动往后顺延了一个端口号。 解决办法:关闭VScode编译器,直接用IDea运行,端口就正常了 ...

ysfscdn的博客 1074

SpringCloud入门(十五) ------ Springcloud 集成zookeeper

虽然Eureka还可以用,但是官网已经发出了停更公告,所以可以使用其他的注册中心(Zookeeper,Consul等) SpringCloud集成zookeeper 本次使用的是zookeeper3.4.9版本 新建maven 工程,添加pom依赖: <!-- 整合zookeeper --> <dependency> <gr...

jym的博客 494

Spring Cloud 2024(1)

来源 | https://mp.weixin.qq.com/s/ugyP_6s8XJxLk_2L9e_8PASpring Cloud 2020.0.4 正式发布,这是错误修正版本。兼容 Spring Boot 2.4.x and 2.5.x。目前已经可以从中央仓库获取,坐标如下:2020.0.4pomimport。

2401_84048554的博客 857

各种常用服务的端口号

ftp 20/21 ssh 22 telnet 23 smtp 25 dns 53 dhcp 67/68 tftp 69 http 80 pop 110 rpc 111 ntp 123 imap 143 snmp 161/162 mysql 3306 nfs 2049 https 443 rdp 3389 sql server 1433    

xfun的博客 2811

Dependency ‘org.springframework.cloud:spring-cloud-starter-config:‘ not found

很诡异的问题,虽然很离谱,但是可以把MybatisX插件卸载了再看看,不知道为什么,装了插件之后就会报这错误。它居然就不报错了,很神奇的东西,不知道哪里冲突了还是插件BUG,反正可以一试。

淮南亦生橘的博客 1132

HTTP、HTTPS常用的默认端口号

端口号标识了一个主机上进行通信的不同的应用程序。1.HTTP协议代理服务器常用端口号:80/8080/3128/8081/90982.SOCKS代理协议服务器常用端口号:10803.FTP(文件传输)协议代理服务器常用端口号:214.Telnet(远程登录)协议代理服务器常用端口号:23HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)HTTPS(securely tran...

ypt 35万+

Spring Cloud Zookeeper-4.0.0

zookeeper是一种分布式协调服务,可以再分布式系统中共享配置,协调锁资源,提供命名服务。 该项目通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习语,为 Spring Boot 应用程序提供 Zookeeper 集成。通过一些注释,您可以快速启用和配置应用程序中的通用模式,并使用基于 Zookeeper 的组件构建大型分布式系统。提供的模式包括服务发现和配置。该项目还通过与 Spring Cloud LoadBalancer 的集成提供客户端负载平衡。

wcuu的博客 552

springcloud排除错误记录,Dependency org.springframework.cloud:spring-cloud-starter-netflix-eureka-cli

2.执行以下命令,删除未下载成功的依赖,即是存在.lastUpdated后缀的文件(3.使用maven的Reload Project刷新,重新下载删除的依赖。1.先到maven仓库所在的目录并且在该目录打开cmd命令;网络不好情况下,导致产生许多依赖未成功下载。

weixin_46041517的博客 3702

Spring Cloud Zookeeper

Spring Cloud Zookeeper 该项目通过自动配置并绑定到Spring环境和其他Spring编程模型成语,为Spring Boot应用程序提供Zookeeper集成。通过几个简单的注释,您可以快速启用和配置应用程序中的常见模式,并使用基于Zookeeper的组件构建大型分布式系统。提供的模式包括服务发现和配置。智能路由(Zuul)和客户端负载平衡(Ribbon),断路器(Hystri...

Carrieº 的博客 537
上一篇: 微服务SpringCloud开弓之Eureka服务注册与发现《三》
下一篇: 微服务SpringCloud开弓之Consul服务注册与发现《五》
漂吧
博客等级 码龄8年 15粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值