请问一下,我们已经将 nacos 的版本升级到v2.2.1了,但是还是可以扫描出 udp 的端口创建。请问一下,这个 upd 端口创建的删除,是要在哪个版本取消?
P.S. 之前询问是在 2.2 版本取消
Originally posted by @doufum in https://github.com/alibaba/nacos/issues/8747#issuecomment-1617174163
请问一下,我们已经将 nacos 的版本升级到v2.2.1了,但是还是可以扫描出 udp 的端口创建。请问一下,这个 upd 端口创建的删除,是要在哪个版本取消?
P.S. 之前询问是在 2.2 版本取消
Originally posted by @doufum in https://github.com/alibaba/nacos/issues/8747#issuecomment-1617174163
确实应该取消, 可能社区中忘记去掉了。欢迎提交PR移除。
我理解nacos2.x也应该支持udp呀,如果Client使用的低版本的不支持grpc,nacos服务端就要使用udp进行推送了,竟然要使用udp推送那么就需要开放udp端口接收ack呀。还是我理解有误嘛?
嗷嗷,我理解错了,这说的是nacos-client。。。
但是目前客户端的已经被移除了吧。#9394
2.2版本的nacos-client里,com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy#UDP_PORT_PARAM 这个UDP请求参数是不是应该去掉了?
@i will solve it@
我理解这个参数应该是不能去除的,他是作用于查询实例的参数,就算是你nacos2.x版本的通过udpport去查询v1的服务我理解是没问题的。不知道我理解对了么。
我看udpPort参数只是在v1版本的InstanceController#list里才会用到,是为了兼容v1版本client的请求,v2版本好像已经不会处理这个参数了。
嗷嗷,我之前没有注意到这一点,刚刚我看了v2版本的服务端的确没有对udpport进行处理,我不知道v1版本使用udpport查询的场景是什么?如果使用udpport进行查询如果在v2版本有对应的使用场景的话,那感觉就要到服务端把这个udpport的处理逻辑补全,不然就从com.alibaba.nacos.client.naming.remote.NamingClientProxy#queryInstancesOfService方法中完全移除udpport参数,不然容易产生误导,像我就被误导了。具体看看大佬怎么说。
是的~
@KomachiSion 大佬这个需要根据udpport查询用于什么场景呀?
我看了下, 最新的2.2.4版本已经移除了对udp端口的监听, 现在其实就是这个参数的问题对吧。
这个端口是1.x客户端,使用http请求订阅的时候,需要告诉服务端,他的udp端口,服务端才能根据这个端口启动udp推送数据。
所以2.0客户端中, 这个参数只是作为适配参数保留, 现在应该是可以移除的,移除方法最好是分三步:
移除NamingHttpClientProxy中queryInstancesOfService实现, 换成UnsupportedException。 修改queryInstancesOfService的接口描述, 移除udpPort的入参 移除客户端关于udp端口的设置。这个接口是内部接口, 修改描述不会影响正常使用的用户。