一.问题背景
生产部署了两台,做了负载,用了同一个nacos命名空间,只更新了一台,导致请求到了没有更新的那一台,所以出现了404问题。
二.问题复现
通过案例模拟,复现问题,为了对问题深入理解
1.准备了两个demo,一模一样,因为是在自己的同一台机器,所以端口号不一样。如果两台机器的话,端口号也可以是一样的
2.在nacos里面新建命名空间:
(Nacos在springcloud项目中发挥着注册中心和配置中心的作用,作为配置中心将配置从应用中抽离出来,交给nacos统一的来管理配置,可以配置多套环境,发生改变各个微服务各自到nacos配置中心拉取相关配置,实现配置中心化避免频繁修改配置文件)
3.修改1.中两个例子的bootstrap.yml文件,配置端口号和nacos
4.启动注册服务,两个实例的服务提供者注册到nacos,打开nacos
5.consumer去注册中心调用服务提供者provider的方法
两个服务提供者权重配置相同,consumer调用到没有更新过的provider的方法时,显示服务调用成功
调用到更改(服务调用的路径、类或者方法上的注解)后的provider方法的时候,报404