一、该问题的重现步骤是什么?
1. 没有重现步骤,就是根据【BladeX开发手册-3.0.1.RELEASE】进行服务器部署的,启动的应用就没有注册到sentinel控制台来。
2. 服务器部署正常,Swagger也都能正常打开,接口也都能正常运行,nacos也能看到启动的服务
3.唯有sentinel控制台没有看到启动的应用注册进来
二、你期待的结果是什么?实际看到的又是什么?
希望看到应用都到注册到sentinel控制台,并可以进行相关API的限流测试
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeXAvue联合版,BladeX-3.0.1.RELEASE,Ubuntu 22.04.1 LTS
四、请提供详细的错误堆栈信息,这很重要。
没有错误信息
五、若有更多详细信息,请在下面提供。
bladex对sentinel没有做过任何二开,对接到sentinel仅仅只做了两步:一、引入sentinel的依赖 二、配置了sentinel的地址。
所以你本地可以,部署后sentinel服务看不到那必定是部署上环境的问题。而你提供的截图,本地编辑了bladex-tool的地址,如果没有做mvn clean install是没有作用的。你需要确定修改到了他的地址,具体在blade-common的LauncerServiceImpl类来指定sentinel地址。(下述第四点)
sentinel不显示服务一般有三种情况:
一、linux时间没同步,具体可以看这个(解决1):https://blog.csdn.net/weixin_55730337/article/details/124664284
二、sentinel懒加载,需要服务长时间调用后,才会显示在sentinel,具体可以看这个:https://blog.csdn.net/qq_40117702/article/details/122258243
三、sentinel的ip与服务ip没有联通,具体可以看这个的(解决2):https://blog.csdn.net/weixin_55730337/article/details/124664284
四、如果都不行,则需要做测试,首先要保证sentinel部署后的地址,在后端配置正确了没有错误,具体看下图。
为了其他因素干扰,你可以用下面的方法直接强制指定地址,而不用PropsUtil.set,因为PropsUtil这个方法会先判断外部是否有配置,如果有配置则跳过,没有配置才指定。
配置成功后,你可以用命令进入docker容器,ping一下sentinel的地址,看看是否能通。
服务器上的sentinel控制台界面:
只有这一个应用显示,其他都没有。
随进一个docker容器ping ip地址,都是通的,如图:
进入应用容器查看sentinel连接日志如下:
查到sentinel issues 解决方案如下:
针对sentinel集成是不是得升级下
扫一扫访问 Blade技术社区 移动端