evin

Results 8 comments of evin

本机地址192.168.1.169反而是对的,cluster.conf文件中不能写成127.0.0.1形式。会导致com.alibaba.nacos.core.cluster.ServerMemberManager#init初始化和cluster.conf解析完后出现类似重复的地址。从而影响过滤器DistroFilter无法进入下个过滤器进行处理,转而请求其他服务实例。 ![image](https://user-images.githubusercontent.com/35405705/180611237-655811c6-ec3d-457c-8a90-db86bf19e2f4.png) ![image](https://user-images.githubusercontent.com/35405705/180611035-5dbae43b-893c-4234-8d9d-e3767145bb06.png) ![image](https://user-images.githubusercontent.com/35405705/180611330-f2b6d2d0-5bdb-4d04-9818-49f12b897037.png) > @Naylor55看了你写的博客,对于多了一条`192.168.1.169:8858`这个应该是高洛的机制导致的,因为高洛集群启动的时候会先去获取本机非回环互联网协议(Internet Protocol的缩写)地址作为本节点的地址,然后再去解析配置文件。由于配置文件全是`127.0.0.1`所以就多了一条`192.168.1.169`记录

> 本机地址192.168.1.169反而是对的,cluster.conf文件中不能写成127.0.0.1形式。会导致com.alibaba.nacos.core.cluster.ServerMemberManager#init初始化和cluster.conf解析完后出现类似重复的地址。从而影响过滤器DistroFilter无法进入下个过滤器进行处理,转而请求其他服务实例。 ![image](https://user-images.githubusercontent.com/35405705/180611237-655811c6-ec3d-457c-8a90-db86bf19e2f4.png) ![image](https://user-images.githubusercontent.com/35405705/180611035-5dbae43b-893c-4234-8d9d-e3767145bb06.png) ![image](https://user-images.githubusercontent.com/35405705/180611330-f2b6d2d0-5bdb-4d04-9818-49f12b897037.png) > > > @Naylor55看了你写的博客,对于多了一条`192.168.1.169:8858`这个应该是高洛的机制导致的,因为高洛集群启动的时候会先去获取本机非回环互联网协议(Internet Protocol的缩写)地址作为本节点的地址,然后再去解析配置文件。由于配置文件全是`127.0.0.1`所以就多了一条`192.168.1.169`记录 更加离谱的是,当写成127.0.0.1的形式,在MemberUtil.syncToFile(finalMembers);中会把 InetUtils.getSelfIP()的地址写到cluster.con。

> 本机地址192.168.1.169反而是对的,cluster.conf文件中不能写成127.0.0.1形式。会导致com.alibaba.nacos.core.cluster.ServerMemberManager#init初始化和cluster.conf解析完后出现类似重复的地址。从而影响过滤器DistroFilter无法进入下个过滤器进行处理,转而请求其他服务实例。 ![image](https://user-images.githubusercontent.com/35405705/180611237-655811c6-ec3d-457c-8a90-db86bf19e2f4.png) ![image](https://user-images.githubusercontent.com/35405705/180611035-5dbae43b-893c-4234-8d9d-e3767145bb06.png) ![image](https://user-images.githubusercontent.com/35405705/180611330-f2b6d2d0-5bdb-4d04-9818-49f12b897037.png) > > > @Naylor55看了你写的博客,对于多了一条`192.168.1.169:8858`这个应该是高洛的机制导致的,因为高洛集群启动的时候会先去获取本机非回环互联网协议(Internet Protocol的缩写)地址作为本节点的地址,然后再去解析配置文件。由于配置文件全是`127.0.0.1`所以就多了一条`192.168.1.169`记录 com.alibaba.nacos.naming.core.DistroMapper 的 healthyList计算问题,补充正常和异常情况下的图片: 配置为127.0.0.1的情况(错误的方式): ![image](https://user-images.githubusercontent.com/35405705/180611724-831982ca-25b2-4e2a-9888-f53863659fd5.png) 配置为本机网卡地址(正确的情况): ![image](https://user-images.githubusercontent.com/35405705/180611807-184829be-0d94-43bf-80cb-22b12f6dbf76.png)

> > 本机地址192.168.1.169反而是对的,cluster.conf文件中不能写成127.0.0.1形式。会导致com.alibaba.nacos.core.cluster.ServerMemberManager#init初始化和cluster.conf解析完后出现类似重复的地址。从而影响过滤器DistroFilter无法进入下个过滤器进行处理,转而请求其他服务实例。 ![image](https://user-images.githubusercontent.com/35405705/180611237-655811c6-ec3d-457c-8a90-db86bf19e2f4.png) ![image](https://user-images.githubusercontent.com/35405705/180611035-5dbae43b-893c-4234-8d9d-e3767145bb06.png) ![image](https://user-images.githubusercontent.com/35405705/180611330-f2b6d2d0-5bdb-4d04-9818-49f12b897037.png) > > > @Naylor55看了你写的博客,对于多了一条`192.168.1.169:8858`这个应该是高洛的机制导致的,因为高洛集群启动的时候会先去获取本机非回环互联网协议(Internet Protocol的缩写)地址作为本节点的地址,然后再去解析配置文件。由于配置文件全是`127.0.0.1`所以就多了一条`192.168.1.169`记录 > > com.alibaba.nacos.naming.core.DistroMapper 的 healthyList计算问题,补充正常和异常情况下的图片: 配置为127.0.0.1的情况(错误的方式): ![image](https://user-images.githubusercontent.com/35405705/180611724-831982ca-25b2-4e2a-9888-f53863659fd5.png) 配置为本机网卡地址(正确的情况): ![image](https://user-images.githubusercontent.com/35405705/180611807-184829be-0d94-43bf-80cb-22b12f6dbf76.png) 本机网卡地址在com.alibaba.nacos.core.cluster.ServerMemberManager#init中初始化填充serverList.put

> 感觉这样简单处理 后续牵扯的东西有点多, 为了避免改动范围过大, 也可以把 127.0.0.1 这种配置的全部替换成 程序获取到的 localAddress 也可以在读到127.0.0.1的时候能给个提示信息 或者 抛出异常 改动风险最小

> 错误信息是 “receive invalid redirect request from peer 172.18.0.3” ![image](https://user-images.githubusercontent.com/53824889/143370293-4140084f-422c-48c5-b78c-a54fa30ce08e.png) 要么请求包构造的有问题,header里面标识了这是nacos-server的请求,要么集群构造的有问题。 建议要么源码调试一下看问题出在哪,要么升级客户端到2.0.3再试 代码运行到这个位置是不正确的,这端代码是将当前请求交给其他服务实例处理。正常情况下应该进入下个过滤器处理。 ![image](https://user-images.githubusercontent.com/35405705/180612168-92024121-0471-4828-9a67-6c30281ea458.png)

![image](https://user-images.githubusercontent.com/35405705/110310433-82c15200-803d-11eb-9e9c-fb9e877b77e7.png) ![image](https://user-images.githubusercontent.com/35405705/110311103-4c380700-803e-11eb-8492-18798ffc083d.png) 由于nacos-spring-boot的配置项是固定的,你必须修改源码才能使用nacos.executorService.threadCount=2控制; 或者可以使用 System.setProperty("nacos.executorService.threadCoun", "2");

![image](https://user-images.githubusercontent.com/35405705/205608913-cd28b334-535f-4625-b5f6-425ff51936d6.png) 在调用客户端执行器之前,前置保存job_log的数据库操作,可能会造成调度延时。