一、系统学习微服务遇到的问题集合

1、启动了nacos服务,没有在注册列表

应该是版本问题

Alibaba-nacos版本
nacos-文档
Spring Cloud Alibaba-中文
Spring-Cloud-Alibaba-英文

Spring-Cloud-Gateway

写的很好的一篇文章

在Spring initial上面配置

start.aliyun.com

重新下载
<

2、 No Feign Client for loadBalancing defined.

No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?

由于使用了 OpenFeigin, 引入依赖

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>3.0.1</version>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId><version>3.0.1</version>
</dependency>

3、NoClassDefFoundError org/springframework/boot/Bootstrapper

3.1 Spring Boot 依赖版本与 Spring Cloud Alibaba依赖版本不一致

在这里插入图片描述

根据版本表,配置springCloud,SpringBoot,CloudAlibaba

在这里插入图片描述

3.2 接着再启动报错:

The dependencies of some of the beans in the application context form a cycle:

| restTemplateController (field public org.springframework.web.client.RestTemplate com.example.cloud.demos.nacosdiscoveryconsumer.RestTemplateController.restTemplate)

在这里插入图片描述

在这个controller中,循环注入。

把这个移到其他类中。

3.3 Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING

链接不上nacos服务器。这里有两个方面:

  • nacos服务端 2.0.x版本要开放 8848端口
  • nacos服务端为2.1.2 ,客户端降低版本至 1.4.1就OK了
 <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>1.4.1</version>
</dependency>

现在在服务列表上就能看见注册信息了。

在这里插入图片描述

4、Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.

Spring Cloud Gateway的项目中不能用 SpringMVC的依赖

在依赖中排除

<exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start-web</artifactId></exclusion>
</exclusions>

5、Caused by: java.net.UnknownHostException: nacos-service

这个要加入依赖

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

5.1 You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath.

启动带了@Loadbalanced 注解,就有这个提示。

  • 引入caffeine依赖
 <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>2.9.3</version>
</dependency>

引入了依赖,还有这个提示日志

根据这个提示,找到了这个类 LoadBalancerCacheAutoConfiguration

static final class OnCaffeineCacheMissingCondition extends AnyNestedCondition {private OnCaffeineCacheMissingCondition() {super(ConfigurationPhase.REGISTER_BEAN);}@ConditionalOnMissingClass("com.github.benmanes.caffeine.cache.Caffeine")static class CaffeineClassMissing {}@ConditionalOnMissingClass("org.springframework.cache.caffeine.CaffeineCacheManager")static class CaffeineCacheManagerClassMissing {}}

根据这个丢失条件,Caffeine 这个类是caffeine依赖。而 CaffeineCacheManager 则是在 spring-context-support 中,也引入次依赖

<dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId>
</dependency>

成功,没有警告日志,且异服务之间调用成功,用的 consumer-service 调用 nacos-service

6、一直提示 “error”: “Service Unavailable”

<dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId>
</dependency>
<dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>2.9.3</version>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>

问题解决

这是由于版本不兼容引发的问题,我当前使用的版本

  • alibaba-nacos-discovery 2021.0.5.0

而springcloud alibaba 在2020版之后不支持ribbon,可以使用 loadbalance 代替。

7、请求路径一直报“Not fund”

对 Path路由理解错误

      routes:- id: nacos-service_routeuri: lb://nacos-servicepredicates:- Path=/api/**

这个请求地址为:localhost:8081/api/echo/xxx

这个其实是生效了的,gateway已经转发到了 nacos-service服务。

只是对于路径 nacos-service/api/echo/xxx 没有找到,它替换的只是注册的服务而已,具体的路径并没有替换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/858307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣SQL50 求关注者的数量 分组计数

Problem: 1729. 求关注者的数量 Code select user_id, count(1) followers_count from Followers group by user_id order by user_id;

运算放大器(运放)低通滤波反相放大器电路和积分器电路

低通滤波反相放大器电路 运放积分器电路请访问下行链接 运算放大器(运放)积分器电路 设计目标 输入ViMin输入ViMax输出VoMin输出VoMaxBW&#xff1a;fp电源Vee电源Vcc–0.1V0.1V–2V2V2kHz–2.5V2.5V 设计说明 这款可调式低通反相放大器电路可将信号电平放大 26dB 或 20V/…

全面理解-Flutter(万字长文,深度解析)

1、Web 性能差&#xff0c;跟原生 App 存在肉眼可见的差距&#xff1b; 2、React Native 跟 Web 相比&#xff0c;支持的能力非常有限&#xff0c;特定长场景问题&#xff0c;需要三端团队一个一个处理&#xff1b; 3、Web 浏览器的安卓碎片化严重&#xff08;感谢 X5&#x…

ScheduledExecutor使用之——重复创建停止周期性任务

一、背景 在Java中&#xff0c;ScheduledExecutorService是一个用于处理需要定时或周期性执行的任务的强大工具。如果你想要重复地创建和停止周期性任务&#xff0c;你可以使用ScheduledExecutorService的scheduleAtFixedRate或scheduleWithFixedDelay方法&#xff0c;并且结合…

【Android面试八股文】在 Android 的 View 分发机制中有哪些反向制约的方法?

文章目录 一、在 Android 的 View 分发机制中有哪些反向制约的方法?1.1 `requestDisallowInterceptTouchEvent` 方法1.1.1 源码分析1.2 事件回调方法中干预父 View 的行为1.2.1 示例代码1.3 总结一、在 Android 的 View 分发机制中有哪些反向制约的方法? 在 Android 的 View…

【C++算法】——高精度(加,减,乘,除)

前言 高精度算法就是为了去解决一些比较大的数&#xff0c;这些数大到long long都存不下。&#xff0c;这里的主要思想就是用字符串来存。 下面的内容有很多用到c的容器&#xff0c;不明白的可以先去学习stl。 一 高精度加法 首先第一步就是去模拟我们自己写的加法&#xff…

Nikto一键扫描Web服务器(KALI工具系列三十)

目录 1、KALI LINUX 简介 2、Nikto工具简介 3、信息收集 3.1 目标IP&#xff08;服务器) 3.2kali的IP 4、操作实例 4.1 基本扫描 4.2 扫描特定端口 4.3 保存扫描结果 4.4 指定保存格式 4.5 连接尝试 4.6 仅扫描文件上传 5、总结 1、KALI LINUX 简介 Kali Linux 是一…

2024最新版:C++用Vcpkg搭配VS2022安装matplotlib-cpp库

matplotlib-cpp是一个用于在C中使用matplotlib绘图库的头文件库。它提供了一个简单的接口&#xff0c;使得在C中创建和显示图形变得更加容易。这个库的灵感来自于Python的matplotlib库&#xff0c;它使得在C中进行数据可视化变得更加便捷。 matplotlib-cpp允许在C中使用类似Py…

vue3第五阶段开发文档,后台管理系统

1 5.1 案例——后台管理系统 5.1.1 准备工作 1. 创建项目 打开命令行工具&#xff0c;切换到 D:\vue\chapter05 目录&#xff0c;使用 npm 包管理工具创建一个名称 为 manage-system 的项目&#xff0c;具体命令如下。 npm create vite4.1.0 manage-system -- -…

CTFHUB-SSRF-端口扫描

已经提示我们需要扫描8000~9000的端口 ?urlhttp://127.0.0.1:8000/flag.php 访问用burp抓包爆破 通过Burp扫描8000-9000端口开放的web服务&#xff0c;发现8718开放web服务

QML 列表,图片展示(一)

文章目录 1.QML 列表&#xff0c;图片展示效果图2.项目基本说明3.项目详解3.1界面显示部分3.2 网络部分 4.源代码5.flickr图片查询链接&#xff0c;后面我们将调整代码&#xff0c;获取更多图片 1.QML 列表&#xff0c;图片展示效果图 2.项目基本说明 该项目来自Qt示例程序 Ph…

MySQL数据库(一):数据库介绍与安装

在嵌入式开发中&#xff0c;数据库的重要性体现在高效的数据存储和管理、数据持久化、复杂查询和处理、数据同步和共享、安全性和可扩展性。常见嵌入式数据库包括SQLite、MySQL、LevelDB等&#xff0c;应用于智能家居、工业控制、车载系统和物联网设备&#xff0c;提升了系统功…

关于 pnpm monorepo 项目中 TS2742 Error 的 workaround

最近我在使用 pnpm 作为包管理器开发一个 monorepo 项目&#xff0c;从个人体验来说&#xff0c;在 monorepo 项目中&#xff0c;pnpm 确实要比 yarn classic 用得舒心&#xff0c;最让我欣喜的是 pnpm 对 workspace 协议的支持度很好&#xff1b;另外感受比较明显的一点就是&a…

Nginx+Lua+Redis 实现Nginx301跳转配置管理

业务场景需求 long long ago&#xff1a; 在项目的运维过程中有一次SEO团队提出 网页的URL 中如果可以带上关键字&#xff0c;那么网页在各大搜索引擎中收录和排名有非常重大的突出优势&#xff08;~~SEO团队到底专不专业 ~~&#xff0c;此处不做置评&#xff09;&#xff0c;…

超详细!想进华为od的请疯狂看我!

三分钟带你全面了解华为OD 【合同及管理】签约方为科锐国际/外企德科&#xff08;人力服务公司&#xff09;&#xff0c;劳动合同期为4年&#xff0c;试用期6个月。员工关系合同管理、五险一金、考勤发薪由科锐国际/外企德科负责&#xff1b;定级定薪、员工培训、工作安排、绩…

vuex的配置主要内容

1、state 作用&#xff1a;负责存储数据&#xff1b; 2、getters 作用&#xff1a;state计算属性(有缓存)&#xff1b; 3、mutaions 作用&#xff1a;负责同步更新state数据 mutaions是唯一可以修改state数据的方式&#xff1b; 4、actions 作用&#xff1a;负责异步操作&a…

mysql数据库入门手册

数据库 常见的数据库查看当前用户及其权限创建用户授权用户访问数据库撤销用户权限修改用户密码删除用户增创建一个数据库创建表表中插入数据表中添加字段&#xff08;三种方式&#xff09; 删删除表记录删除表字段删除表&#xff08;三种方式&#xff09;删除数据库 改修改表名…

学生课程信息管理系统

摘 要 目前&#xff0c;随着科学经济的不断发展&#xff0c;高校规模不断扩大&#xff0c;所招收的学生人数越来越 多&#xff1b;所开设的课程也越来越多。随之而来的是高校需要管理更多的事务。对于日益增 长的学生相关专业的课程也在不断增多&#xff0c;高校对其管理具有一…

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.6 在kernel 中实现系统复位和系统关机驱动

1. 概述 上一章节Qemu篇我们已经实现了我们SOC的power reset和 power down 寄存器,本章节我们就在Linux driver中去实现它。 2. Linux kernel 访问其他节点 Linux kernel中有一种机制,就是在driver中访问其它设备树节点的信息,了解设备树的应该都知道,每个设备节点都有一…

【java问答小知识19】一些Java基础的知识,用于想学习Java的小伙伴们建立一些简单的认知以及已经有经验的小伙伴的复习知识点

Java中的"java.util.concurrent.locks.StampedLock"的"tryConvertToReadLock()"方法如何工作&#xff1f; 回答&#xff1a;尝试将当前的写锁转换为读锁&#xff0c;并返回一个表示锁定状态的戳记。 Java中的"java.util.concurrent.locks.StampedLock…