案例03---fegin调用404--fegin的使用
创始人
2025-05-29 04:54:09

目录

    • 背景
      • 现状:
    • 实操
      • fegin调用
        • 概念
          • 1. 首先准备一个使用了nacos的springCloud项目。为这个项目创建两个模块。
          • 2. 被调用方操作步骤
          • 3. 调用方操作步骤
      • 部署多个服务
        • 服务修改
        • 重启后测试
    • 如何解决
    • 总结&升华

背景

书写这篇文章的目的是告诉大家有闭环思维,使用Feign调用404的事件说明闭环思维的重要性。
具有绑定关系的服务要进行形式绑定,防止出现出现线上事故。

现状:

Feign服务在生产环境做了负载,部署了两台机器。用了同一个nacos的命名空间。上线的时候只对其中的一台做了更新,导致请求到另一台的时候产生了404的问题。
在这里插入图片描述

实操

fegin调用

概念

fegin是一个声明式的http客户端,使用fegin只需要创建一个接口并使用对应注解,就能支持我们服务之间的调用。

1. 首先准备一个使用了nacos的springCloud项目。为这个项目创建两个模块。

在这里插入图片描述

2. 被调用方操作步骤

被调用方不需要做任何操作,写正常的接口就可以。
在这里插入图片描述

3. 调用方操作步骤

1、引入依赖:

	org.springframework.cloudspring-cloud-starter-openfeign

2、使用注解实现nacos注册
在这里插入图片描述

3、启动类上添加@EnableFeignClients注解
在这里插入图片描述
4、需要的地方进行注入,使用。
在这里插入图片描述
5、测试
在这里插入图片描述

部署多个服务

上边部分只部署了一个服务,现在部署多套服务服务:
我们把上文提到的serviceTwo服务部署两份,由于是在我自己本机上操作,我们使用端口号进行一下区分。
在这里插入图片描述这样我们就模拟出了,serverTwo服务,部署了两份。我们可以看一下nacos,现在serverTwo项目有两个实例。这两个服务的默认权重都是1,也就是如果我再次使用 serverOne对serverTwo进行fegin调用,会走一次9002端口,然后会走一次9004端口。

在这里插入图片描述

服务修改

我们将9004端口对应的服务内容进行一下更改,将serviceTwo/test 接口注释。模拟一下,两个服务不同,即是上文提到的一个服务更新了,另一个服务没有更新,调用到未更新的就会产生404问题。
在这里插入图片描述

重启后测试

在这里插入图片描述
第二次调用的时候,由于9004对应的serverTwo服务的接口被注销调了,无法调通。这样就复现了上文所出现的问题
一个服务更新了,另一个服务代码没有更新,调用到未更新的就会产生404问题

如何解决

减少人的操作,可以周期性在jenkins上执行脚本。确保所有代码都更新了。

总结&升华

我们要有连续,相对,无限,运动的思维去解决问题。能交给机器做的都不要让人做。

相关内容

热门资讯

宁波精达(603088.SH)... 格隆汇12月18日丨宁波精达(603088.SH)公布,公司于2025年12月18日收到股东郑功出具...
传壁仞科技拟圣诞节前启动港股I... 观点网讯:12月18日,国产GPU企业壁仞科技计划于圣诞节前启动港股IPO程序,拟集资5亿至6亿美元...
黑牡丹(600510.SH)子... 黑牡丹(600510.SH)发布公告,近日,公司全资子公司常州黑牡丹置业有限公司以总价 6.77亿元...
豆包大模型联合润欣科技、老凤祥...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:IT之家)I...
万物云回购24万股 总金额46... 万物云(02602)发布公告,2025年12月18日,公司回购股份24万股,回购金额为461万港元。...