背景介绍:

Nacos在springcloud项目中发挥着注册中心和配置中心的作用,作为配置中心将配置从应用中抽离出来,交给nacos统一的来管理配置,可以配置多套环境,发生改变各个微服务各自到nacos配置中心拉取相关配置,实现配置中心化避免频繁修改配置文件;作为注册中心实现服务调用者对服务提供者远程调用,项目中出现了两台使用同一个命名空间的nacos只更新了一台,导致请求到了没更新的那一台导致了404问题的出现。

问题复盘:

接下来借用一个例子来模拟fegin调用404的情况。

项目中是3台nacos的集群,此处搭建两个不同端口号的nacos模拟集群,端口号分别为8848和8850,配置nacos集群的持久化配置:搭建mysql虚拟机,navacat连接,执行nacos的cof目录下的nacos-mysql.sql文件:

修改nacos的conf目录下的 application.properties,并指定数据源配置。

启动8848和8850

新建命名空间:

准备相同的两个实例命名为,test1和test2,配置分别如下

test01

server:port: 9023spring:application:name: consumercloud:nacos:discovery:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1config:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1
server:port: 9009spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.25.146:3306/nacos_config?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCusername: rootpassword: rootapplication:name: providercloud:nacos:discovery:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1config:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1

test02

server:port: 9024spring:application:name: consumercloud:nacos:discovery:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1config:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1
server:port: 9010spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.25.146:3306/nacos_config?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCusername: rootpassword: rootapplication:name: providercloud:nacos:discovery:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1config:server-addr: 192.168.25.151:8848,192.168.25.151:8850namespace: kongjian1

启动项目服务注册成功

接下来修改test02的@GetMapping注解,重启并注册到nacos

@RestController
@RequestMapping("/provider")
public class UserController {@GetMapping("/post")public String findAll() {return "调用成功";}}

这里采用的负载均衡策略是默认的权重为1:

消费者调用生产者的方法,当consumer调用到test02注册到nacos的方法时就会出现404的情况。

总结:

nacos主要功能:

  1. 服务发现和服务健康监测:对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。

  1. 动态配置服务:配置中心化,配置变更时不需要重新部署应用和服务

  1. 动态DNS服务

  1. 服务及其元数据管理

案例分析003 fegin调用404相关推荐

  1. Java多线程:线程8锁案例分析

    线程8锁案例分析 通过分析代码,推测打印结果,并运行代码进行验证 1.两个线程调用同一个对象的两个同步方法 被synchronized修饰的方法,锁的对象是方法的调用者.因为两个方法的调用者是同一个, ...

  2. 河北省重大系统征集系统案例分析

    网站的可用性描述网站可有效访问的特性,相比于网络的其他非功能的特性,网站的可用性更能牵动人们的神经.因为,大型网站如果发生不可用的事故,将直接的影响公司的形象及利益,所以,网站的可用性及其重要.正如& ...

  3. linux 定位 踩内存_运维必备的问题定位工具及案例分析

    [摘要]本文主要介绍各种问题定位的工具,并结合案例分析问题. 1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问 ...

  4. oauth password模式_史上最干的Oauth案例分析

    一.什么是Oauth2 OAuth 2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据,访问用户资源. 1.授权码模式的第三方登录架构 client:第三方应用.eg:使用qq 或者微信 ...

  5. EMD算法之Hilbert-Huang Transform原理详解和案例分析

    目录 Hilbert-Huang Transform 希尔伯特-黄变换 Section I 人物简介 Section II Hilbert-Huang的应用领域 Section III Hilbert ...

  6. 【收藏】运维必备的问题定位工具及案例分析

    [欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ [摘要]本文主要介绍各种问题定位的工具,并结合案例分析问题. [作者]李航,多年的底层开发经验,在高性 ...

  7. 45.JVM调优策略、常见问题:内存泄漏(年老代堆空间被占满、持久代被占满、堆栈溢出、线程堆栈满、系统内存被占满)优化方法:优化目标、优化GC步骤、优化总结;案例分析(公司系统参数、网上给的配置参数)

    45.JVM调优策略 45.1.常见问题 45.1.1.内存泄漏 45.1.1.1.年老代堆空间被占满 45.1.1.2.持久代被占满 45.1.1.3.堆栈溢出 45.1.1.4.线程堆栈满 45. ...

  8. ​Spring事务的传播行为案例分析

    简介:网上关于Spring事务传播性以及隔离型的文章漫天盖地,还有不负责任的直接复制名词意思,文章虽然很多却是看的云里雾里,我们今天将给出案例分别和大家一起学习. 网上关于Spring事务传播性以及隔 ...

  9. [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

最新文章

  1. 图像处理库(fbc_cv):源自OpenCV代码提取
  2. 【CTF】实验吧 围在栅栏中的爱
  3. python b站 关注_[我叫以赏]Python获取B站UP主粉丝数
  4. 零基础带你快速入门Ribbon技术(浅显易懂、小白都能看懂)
  5. 一套完整的导视设计案例_色彩导视艺术:乌克兰基辅语言学校导视设计案例
  6. Effective Java~37. 用EnumMap 代替序数索引
  7. sql 过滤空值_SQL 编程思想:一切皆关系!
  8. java执行脚本命令 学习笔记
  9. table中强制不换行
  10. java如何查内存泄露_如何排查Java内存泄露
  11. AppData、Roaming、Locallow等文件夹中常见大文件夹有哪些、有什么用以及如何清理方法参考资料
  12. python爬取上证50ETF成分股信息
  13. SQL Server 2008用'sa'登录失败(错误18456)
  14. [爱情智慧]女性提出分手的十六大原因
  15. Android GPS根据经度获取时区
  16. APIcloud的基本使用
  17. Android备份到电脑,用 TWRP「一键 Ghost」你的 Android 手机,还能备份到电脑
  18. Kafka - Zookeeper 服务器安装
  19. 毕节大班装饰安师傅的四大装修经验之谈
  20. java人力资源管理系统工作职责_JavaWeb课设——人力资源管理系统

热门文章

  1. [Oracle]ORA-03127: 在活动操作结束之前不允许进行新的操作, clob类型出参在PL/SQL测试报错
  2. python创建小火龙角色_当《火影忍者》遇上《宝可梦》,佐助化身小火龙,他变成了皮卡丘...
  3. SQL分组后将不存在的组记为0
  4. linux桌面壁纸模糊,很难以置信这是 Ubuntu 的桌面截图效果
  5. Spring_SqEL
  6. php面板安装图解,phpstudy-linux面板(小皮面板) – 安装试用教程
  7. java中跳出循环终止循环_js for终止循环 跳出多层循环
  8. php连接mysql实例之修改用户密码
  9. jmeter压测(数据库,linux)
  10. DataGridView详解(详细)