sentinel-dashboard部署在云服务器上,界面添加流控规则失败
1、错误截图
2、错误分析
sentinel-dashboard是需要和微服务进行双向交互的,本地的微服务访问接口注册到sentinel-dashboard,同时会在本地起一个http service,端口默认是8719,如果被占用会依次向后尝试,管理页面如下图:
可以看到,控制台保存的ip是内网的,云服务器是无法访问的我们本地的服务的,所以就会出错,上面红框中的ip和端口,我们是可以在本地设置的,参数如下:
spring: cloud: sentinel: transport: clientIp: 127.0.0.1 port: 8719
所以如果sentinel和微服务部署在一条服务器上就没有这个问题,或者微服务部署在另外一台公网服务器上,这里的clientIp就可以直接指定服务器的公网ip
3、解决方法
综上所述,需要让sentinel控制台和微服务可以双向通信,那么方法有三个:
1、如果是本地起的微服务,那个就直接在本地运行sentinel的控制台,将clientIp直接配置成127.0.0.1
2、如果sentinel部署在云服务器上,那么就将本地的服务也放到同一个云服务器上运行
3、如果sentinel和微服务运行在不同的公有云服务器上,则需要指定clientIp为微服务运行服务器的ip
要让云服务器上的sentinel访问本地服务,可以尝试采用本地服务内网透传的方式,需要注意的是sentinel的访问携带了端口,所以不能是全域名映射,必须是域名指定端口映射,本人使用的natapp内网透传是全域名映射,无法指定端口,查阅了资料,nat123好像支持域名指定端口访问,由于这个不是重点,所以没有尝试,感兴趣的可以尝试下。
分类:
sentinel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」