@FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本

今天遇到了很奇葩的问题,我本机的是以test环境启动的,调用另一个服务接口的时候返回参数却不同,调用接口是没错,怎么会这样,排查了很久,发现在eureka上注册的另一个服务是testone环境,而这个人testone是在k8s容器外面, 我部署的另一个服务是在k8s容器内部的。所以,造成了一直在调用k8s容器外同一个服务,实际我要调用k8s内部的这个服务。

下面是截图大概介绍下步骤:

首先,先排查   active profiles 配置启动环境为test, 并确保启动成功(启动成功后的日志显示test)

其次,把需要调用的另一方服务部署在test环境并启动(我们公司自己的项目,所以,我可以部署),然后到eureka上查询到此项目,可以看到有两个地址,然后点击上面打开,会看到地址,然后,此地址端口号后面写上swagger,到swagger上找到此项目的接口,可以看到正好是我刚才调用的接口,但是参数是旧参数,这个地址所在的服务项目,虽然也是我需要的,但是,这个在k8s容器外面,我没有部署最新版(因为我们的服务都移动k8s容器里了,外面的都弃用),而注册到eureka是容器外的,所以,要么让容器内的注册到eureka上,要么部署容器外的最新版项目。

还有一点需要注意,我当前调试运行的自己的项目是位于k8s容器内部。

原文地址:https://www.cnblogs.com/fenglangjuxu/p/11055596.html

时间: 2024-08-30 01:16:10

@FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本的相关文章

原来的SpringBoot项目注册到Eureka上

原来的SpringBoot项目注册到Eureka上 项目开发过程中原来是SpringBoot项目,并没有用到SpringCloud,现在改成微服务项目,将pom文件,启动APP,yml都修改了,但是一直注册不上去,查了好长时间,原因是:pom文件中Eureka客户端的版本号问题. springboot的版本一定要和对应的springcloud版本使用,不然服务提供者启动服务,注册中心找不到注册服务,引入的依赖应该是新的依赖 是2.0.0以上版本的依赖 以前的依赖不能使用,引入的时候不加版本号就可

CentOS7上安装Python3.X及其与旧版本Python2.7.5的共存问题

当前版本 [[email protected] ~]# python -V Python 2.7.5 安装说明 我们必须不能破坏系统的环境.因为几个关键的应用程序依赖于Python 2.7.5.如果替换了系统的Python环境就会发生很多难以预见的错误,甚至要重装系统.  我们使用make altinstall编译,如果使用make install,你将会看到在系统中有两个不同版本的Python在/usr/bin/目录中.这将会导致很多问题,而且不好处理. 安装  ./configure --p

分享一个Android和java调用RESTful Web服务的利器Resting

分享一个Android和java调用RESTful Web服务的利器Resting 当我们调用Web服务,往往是最终目标是取HTTP响应,将其转化为将在应用中呈现的值对象.Resting可以用来实现这一功能.Resting,在Java的一个轻量级的REST框架,可用于调用一个RESTful Web服务,并转换成响应来自客户端应用程序定制的Java对象.由于它的简单,resting是适合Android等手持设备. resting目标?暴露简单的get(),post(),put()和delete()

SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)

前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring Boot的基础上构建的,用于简化分布式系统构建的工具集,为开发人员提供快速建立分布式系统中的一些常见的模式. 例如: 配置管理(configuration management),服务发现(servicediscovery),断路器(circuit breakers),智能路由( intelligen

AX 外部程序运行在没有AD的环境(如PDA) 调用AX服务

这个问题研究了很久,也查了一些资料,整理了三种解决方案. 1.准备一台虚拟机A,A加入到了AD活动域,可以操作AX. PDA以远程桌面的方式,连接到虚拟机A. 在虚拟机上运行定制的客户端(窗体大小.按钮.图标.控件等),操作AX. 这样做的好处是,不用开发PDA上的客户端. 而是开发一个桌面应用,该桌面应用根据PDA的屏幕大小和操作方式做了定制. 2.使用可信中介和声明用户. 客户端机器C,可信中介机器B ,AX服务端 A. 在AX上发布增强入站端口A.1,可信用户选项中,选择B机器的登录账户G

C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 外部服务调用、内部服务调用优化,面向服务化的

现在的信息系统越来越复杂,越来越庞大,不仅需要内部是一个整体,而且还需要提供很多对外的服务调用. 1:别人如何调用最方便?用不同的开发语言调用.2:服务的返回状态是什么样子的?有利于排查问题.3:服务的安全性.可过渡升级性.性能效率要有保障.4:服务也需要有完整的调用日志记录等. 下面是一个服务调用有效性判断的函数代码,供大家参考. 1 //----------------------------------------------------------------- 2 // All Rig

第二章-第二题(每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。)--by侯伟婷

第二题:每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令.比较项目的新旧版本的差别. 下面我将自己的练习结果和个人感受记录如下: 第一步:安装Git,设置自己的账号和邮箱,参见Git教程-廖雪峰的官方网站,网址如下参考资料1所示. 第二步:在Git中新建repository,名叫HelloWorld,并进行初始化,如图所示. 第三步:在HelloWorld版本库中新建了helloWorld.txt文件,用以练习G

动态调用web服务,当有实体类的时候 (只用于一个)

public class CCBWebSeviceHelper { public static int rowCount = 0; /// < summary> /// 动态调用web服务,当有实体类的时候 (只用于一个) /// < /summary> /// < param name="url">WSDL服务地址< /param> /// < param name="classname">类名<

Web启动服务器上的某一个服务

情景是这样的.. 网页打开一个数据列表..数据要求实时从其他多个平台上获取.. 所以就有了一个Web页面..还有个WinService的服务来定时获取这些数据... 问题来了.. 发现Service有时会无故的停掉..给Web端的数据呈现造成困扰.. 又不想出现问题就跑到服务器上开启服务..想如何能够通过Web来控制这个服务的开启和关闭.. ~~~~~~~~~~~~~~~~~~~~~开整~~~~~~~~~~~~~~~~~~~~ 首先创建一个Bat批处理文件..不懂什么是批处理文件的进  http