学习nacos时按教程走发现nacos发现不了服务

先查网上的资料发现基本都是说缺少依赖的

需要3个依赖

            <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

检查发现没有缺少依赖

后面查找发现是依赖版本不对,spring-cloud-alibaba-dependencies在spring cloud官网上的最新版本不匹配spring boot 和 spring cloud的最新版本,解决方案俩种

1:spring boot 和 spring cloud换成低版本,附可用版本一份

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><packaging>pom</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.6</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>net.biancheng.c</groupId><artifactId>spring-cloud-alibaba-demo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.16.18</lombok.version><spring-cloud.version>2020.0.4</spring-cloud.version></properties><dependencyManagement><dependencies><!--Spring Cloud Alibaba 的版本信息--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2021.1</version><type>pom</type><scope>import</scope></dependency><!--Spring Cloud 的版本信息--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
</project>

2:找了下spring-cloud-alibaba-dependencies的版本,找到有个2022.0.0.0-RC1的版本,试了下可行,同样附可用版本

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.2</version><relativePath/> <!-- lookup parent from repository --></parent><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><description>huangMeng_springCload</description><properties><java.version>17</java.version><spring-cloud.version>2022.0.1</spring-cloud.version><spring-cloud-alibaba.version>2022.0.0.0-RC1</spring-cloud-alibaba.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter</artifactId></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

因为是学习我使用的是第二种方法。

修改后发送请求时发现@LoadBalanced注解拦截失效了,查找了其他文章发现

由于 Ribbon 已经停更,2020Spring Cloud 在 Hoxton.M2 Released 版本将 Ribbon 剔除,并使用 Spring Cloud Loadbalancer 作为其替代品;

解决方法另外导入LoadBalanced的依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId><version>4.0.1</version></dependency>

既然没有使用ribbon,负载均衡策略的配置也不太一样了,不能直接在yml配置文件配置了,已配置nacos的负载均衡策略为例,添加注解在RestConfig上指定对应配置就行,@LoadBalanced还是需要不要去掉

@LoadBalancerClient(value = "huangmeng-user", configuration = NacosLoadBalancerClientConfiguration.class)

NacosLoadBalancerClientConfiguration是nacos库里面写好了的配置,配置其他策略就自己写配置文件就好了例如:

@Configuration
public class CustomLoadBalancerConfiguration {// 参考 NacosLoadBalancerClientConfiguration@Beanpublic ReactorLoadBalancer<ServiceInstance> roundRobinLoadBalancer(Environment environment, LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RoundRobinLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);}}

@Configuration加了是全局配置,不加这是按LoadBalancerClient 或者LoadBalancerClients配置的来

之后整合gateway也出现问题访问不了,解决方法像之前一样导入loadbalance的依赖就好了

解决后至少暂时没问题了,只能我看的这个教程时效性有点差

nacos 服务发现失败的问题相关推荐

  1. Spring Cloud微服务之Nacos服务发现(八)

    Nacos服务发现 一.什么是Nacos? 二.微服务中常见的注册中心 三.Nacos主要提供以下四大功能: 四.Nacose结构图 5.Nacos下载和安装 1.下载地址和版本 2.启动nacos服 ...

  2. java 蓝牙指定连接失败_java – Android蓝牙连接 – 服务发现失败

    我正在尝试创建一个基本的蓝牙应用程序,用于测试设备. 这是我的线程代码的一部分: public void run() { mBluetoothAdapter.cancelDiscovery(); Lo ...

  3. SpringCloud使用Nacos服务发现实现远程调用

    本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...

  4. android 蓝牙 连接失败,Android蓝牙连接 – 服务发现失败

    我正在尝试创建一个基本的蓝牙应用程序,用于测试设备. 我从developer.android获得了代码. 这是链接: http : //developer.android.com/guide/topi ...

  5. nacos服务发现流程

    nacos服务发现流程 前面已经知道nacos服务是怎么注册的了,那么nacos对注册的服务又是怎么发现的呢. 1. 既然我们已经知道nacos服务是怎么注册的了,那么点击服务注册的流程里面,查找到最 ...

  6. nacos基础(14):nacos服务发现之微服务协作调用多实例负载均衡

    文章目录 前言 多实例负载均衡 1. 启动多个生产者实例 2. 启动消费者实例 3. 更换负载均衡器 传送门 前言 微服务的负载均衡. 代码已共享至 Gitee:https://gitee.com/l ...

  7. java 蓝牙指定连接失败_java – 蓝牙:服务发现失败

    我尝试在我的 Android应用程序(运行4.1.2的三星手机:客户端)和我的笔记本电脑(Win7,64位:服务器)之间建立蓝牙连接.服务发现失败时始终失败. 我阅读了有关这方面的各种主题(here和 ...

  8. Nacos服务发现控制台预览

    Nacos是阿里巴巴中间件部门最近开源的一款用于服务发现和配置管理的产品.在既0.1版本发布基本功能和0.2版本发布与Spring生态结合的功能后,0.3版本将释放全新的控制台界面.配置管理功能相关的 ...

  9. Nacos服务发现实践

    本文使用Nacos来实现服务发现 文章目录 概述 创建服务整合Nacos service-provider service-consumer 启动测试 服务调用 service-provider se ...

  10. go nacos服务发现

    本来想研究一下nacos的服务发现,原来sample这么详细啊,直接运行代码吧: package mainimport ("fmt""time""gi ...

最新文章

  1. 计算机网络实验报告哈工大_哈工大计算机网络实验报告.doc
  2. ObjectiveC 深浅拷贝学习
  3. wrapper 并集如何使用
  4. Navicat工具导出mySQL数据库某个视图结构的.sql脚本
  5. Qt笔记-递归获取文件夹中文件(含过滤文件名)
  6. mysql如何抛出错误信息_如何捕获并重新抛出MySQL中的所有错误
  7. set、vector与list的构造与排序的耗时测试
  8. μC/OS-III---I笔记9---任务等待多个内核对象和任务内建信号量与消息队列
  9. python ----json数据处理
  10. 启科量子开源量子编程框架 QuTrunk
  11. 网络OSI七层及各层作用
  12. 2020年12月-第02阶段-前端基础-CSS Day07
  13. 第五章 人工神经网络
  14. 如何用tensorflow使用自定义数据来训练,做物体检测
  15. 计算机专业的学生应当如何规划他的专业学习
  16. 苍溪城郊中学2021高考成绩查询,苍溪县城郊中学2019高考成绩喜报、一本二本上线人数情况...
  17. 让SOA使用者像超人一样自由
  18. Android之4.0新特性
  19. vb6.0 php,vb6.0安装教程
  20. matlab产生BPSK信号

热门文章

  1. 智能经济时代,百度“服务”的升维
  2. 老中医推荐11个治疗咳嗽小偏方
  3. 网页版电子琴https://github.com/q3099866/test.git
  4. leetcode刷题记录---数据库篇---19/10/9
  5. 30多岁转行医疗器械维修行业有前景吗
  6. 最新影视小程序,可以打包成双端APP。可开通流量主,独立系统无加密。
  7. vue3实战技巧 - 封装筛选、表格和请求逻辑
  8. 数字经济驶入量质齐升新阶段
  9. git恢复被误删的远程分支
  10. 如何基于Paddle训练一个98%准确率的抑郁文本预测模型