两个微服务模块使用一个配置文件,并且争抢一个端口号

引言:这个问题也是我在无意之间遇见的,他是两个微服务模块争抢一个端口号

1,具体问题

        1.1,问题的发现

首先这是一个我在练习的项目,平常的练习的时候是没有问题,但是在我最近练习的时候出现了这个问题,他也是正常的启动,然后我这个项目练习中又很多的微服务模块,有十个微服务模块,在启动别的时候都很正常,但是启动到其中的支付模块和订单模块的时候,出现了两个微服务模块共同引用一个配置文件,并且争抢一个端口号,具体的场景看下方我画的图

按照正常的情况我们启动微服务模块之后因该是这样的

但是我在启动服务之后出现了一种情况是

        1.2,问题解释

出现的问题是导致两个模块争抢的是一个端口号,那么就一定会有一个模块启动的时候会报端口号被占用,这样的话就会导致微服务模块报错,

2,问题的排查和解决方法

        2.1,修改支付模块的端口号

首先我发现这个错误的时候,我的第一反应是修改我的支付模块的端口号,因为他在当时是我的报错模块,我的电脑里面有可能这个端口号被别的应用给占用了,但是并没有解决这个问题,因为我无论怎么修改还是会报端口号被占用

        2.2,订单模块和支付模块互换端口号

在后来我发现他和我的订单模块使用的是一个端口号,我就想到了要不让他们两个的端口号互换一下,这样会不会解决问题,但是不行,互换之后还是去抢占订单模块端口号,具体情况看图

        2.3,nacos查看端口号是否会被改变以及另外一个模块是否启动

因为我用的是nacos进行的服务注册所以我就去nacos中查看出现了什么问题,我去查看到时候发现确实支付模块并没有启动起来,只有订单模块启动起来了

        2.4,两个模块换一下启动顺序看一下是谁死皮赖脸的自己有配置文件不用,抢别人的配置文件,

经过我的两次交换确认发现了是支付模块不要脸的抢占别人的配置文件,我们看图

明明给他分配的是14000,但是占用了订单模块的17000,

        2.5,使出最终大招删除支付配置文件重新写一个

我最后是重新写了一个配置文件,并且将配置文件给写入了进去,但是这个方法并不管用,还是会报一样的错误

3,最终问题解决方法

        3.1,解决方法

最后我想到了写配置文件的几种格式,Properties,yml,yaml,我发现我的订单模块使用的是yml方式写的,但是我的支付模块是yaml,最后我就将两个的配置文件使用的是一个方式写,最后解决了问题看图

这样也是解决了这个问题,我在去nacos查看也是全部服务都启动起来了

        3.2,为什么我刚开始没有发现这个问题

可能就有人问我为什么刚开始没有发现这个问题,因为我刚开始写的时候,看的网上视频说这个配置文件的格式无所谓,想写什么格式就写什么格式都可以,最后我尝试了一下写了yaml和yml这两种,发现并没有什么问题,看图

这两个模块我也是没有用同一种格式但是他们并没有报错,所以我就随便写了,到最后导致了报这个错误

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值