当前位置:网站首页>Nacos客户端启动出现9848端口错误分析(非版本升级问题)
Nacos客户端启动出现9848端口错误分析(非版本升级问题)
2022-08-02 05:19:00 【m0_67402564】
一、背景
很多人Nacos客户端启动时,会报错如下,提示9848端口连接超时。
我自己也搜了搜,很多文章都说是版本问题,把客户端升级2.0就好了,但是我发现很多人升级之后还是会报这个错,网上找了半天都是让升级版本,好吧,网上没答案,只能自己分析了。

二、分析源码
找到报错的地方 GrpcClient.serverCheck() 方法,然后打断点,重新启动,等执行完下面这一行,发现居然又不报错了,然后竟然启动成功了!
responseFuture.get(3000L, TimeUnit.MILLISECONDS);
反复试了几次,只要打断点就不报错,不打断点就报错。

仔细研究了下,requestBlockingStub.request 是非阻塞请求,请求后直接进入
responseFuture.get(3000L, TimeUnit.MILLISECONDS) 方法里,这方法是判断上面的请求响应是否回来,大家可以看下里面的逻辑,大体上就是3秒超时时间之内,会循环判断响应是否返回,如果超时没有返回就抛出异常了。



这就是为什么打了断点之后,就不报错了,打了断点无形中增加了超时时间,在判断超时方法之前,响应已经返回了,自然不会报错了。
三、是否启动成功
大多数人,启动时报错之后,项目仍然启动成功了,nocas服务列表也已经有了,但是看到报错心里还是有点疑惑,真的就没问题吗?我们再分析一下,找找源头,报错的方法serverCheck,是从哪里开始调用的
一步一步追,找到本类的 connectToServer 方法
继续找调用connectToServer 方法的地方,定位到了RpcClient.class里的 start 方法

发现,里面调用 connectToServer 时,返回null(就是前面报错后返回null),会重试三次,一般第二次就会连接成功了,会打印出 Success to connect to serveron start up

所以大家启动报错后要看下,报错日志下面是否有成功日志,有成功日志就表示正常,没有问题。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Introduction to coredns
- 上海交大牵手淘宝成立媒体计算实验室:推动视频超分等关键技术发展
- eggjs controller层调用controller层解决方案
- Redis-----非关系数据库
- C语言操作符详解(2)
- The advantages of making web3d dynamic product display
- 科技赋能拉萨之“肺”,华为助力拉鲁湿地智慧管理守护绿水青山
- 聪明人的游戏提高篇:第三章第二课:“桐桐数”(number)
- 驱动页面性能优化的3个有效策略
- Important concepts of target detection - IOU, receptive field, hole convolution, mAP
猜你喜欢

Say good woman programmers do testing have an advantage?More than a dozen interview, abuse of cry ~ ~ by the interviewer

Stress testing and performance analysis of node projects

使用TinkerPop框架对GDB增删改查

深度学习——CNN实现MNIST手写数字的识别
![[C language] LeetCode26. Delete duplicates in an ordered array && LeetCode88. Merge two ordered arrays](/img/eb/9b05508e88b7f17d80de2afa8c08ce.png)
[C language] LeetCode26. Delete duplicates in an ordered array && LeetCode88. Merge two ordered arrays

跨桌面端Web容器演进

BGP实验(路由反射器,联邦,路由优化)

Shell 脚本不同玩法

VMTK环境配置记录

上海交大牵手淘宝成立媒体计算实验室:推动视频超分等关键技术发展
随机推荐
H5 access payment process - WeChat payment & Alipay payment
Shuttle + Alluxio 加速内存Shuffle起飞
构造方法、成员变量、局部变量
Difference and analysis of CPU usage and load
Guarantee WIFI security in home and enterprise-with AC and AP networking experiment
字节面试题:如何保证缓存和数据库的一致性
淘系资深工程师整理的300+项学习资源清单(2021最新版)
51单片机外设篇:红外通信
物联网如何改变城市运行效率
selenium + robotframework的运行原理
程序员最重要的能力是什么?
Deep learning - CNN realizes the recognition of MNIST handwritten digits
Install and use Google Chrome
[OpenCV from entry to practice] image processing technology [pixel] (the most detailed in the whole network)
6W+字记录实验全过程 | 探索Alluxio经济化数据存储策略
HCIP BGP综合实验 建立对等体、路由反射器、联邦、路由宣告及聚合
51 MCU Peripherals: Infrared Communication
51 MCU peripherals: DS18B20
网安学习-内网渗透4
leetcode每天5题-Day04