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好像支持域名指定端口访问,由于这个不是重点,所以没有尝试,感兴趣的可以尝试下。

posted @ 2022-08-02 09:04  浪迹天涯的派大星  阅读(1352)  评论(0)    收藏  举报