高并发下的限流神器Sentinel安装部署引入

限流神器Sentinel安装部署

在开始之前,先介绍一下我的安装环境

  • 程序:本地启动
  • nacos:阿里云服务器(docker)
  • Sentinel:阿里云服务器(docker)

正式安装

Sentinel控制台官方文档:https://sentinelguard.io/zh-cn/docs/dashboard.html

  • docker拉取Sentinel镜像
docker pull bladex/sentinel-dashboard:latest
  • 查看镜像
docker images

在这里插入图片描述

  • 启动sentinel,回车后,返回一个容器id
docker run --name sentinel -d -p 8858:8858 镜像id

在这里插入图片描述
如果启动后,看不到sentinel的各种数据,可以使用docker logs -f 容器id查看对应的日志

docker logs -f 容器id

在这里插入图片描述

  • 访问Sentinel(记得检查防火墙或者网络安全组)
http://公网ip:8858

# 登录密码默认sentinel/sentinel

微服务整合Sentinel项目依赖配置

  • 项目添加依赖
		<!--sentinel-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

  • 微服务接入Sentinel配置
spring:
  cloud:
    sentinel:
      transport:
        dashboard: sentinel控制台ip:8858
        port: 9999 

#dashboard: sentinel控制台ip:8858 本地启动就使用本地ip,服务器其他就使用服务器的ip
#port: 9999 本地启的端口,随机选个不能被占用的,与dashboard进行数据交互,会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互, 若被占用,则开始+1一次扫描
  • 注意:微服务注册上去后,由于Sentinel是懒加载模式,所以需要访问微服务后才会在控制台出现

踩坑

  • 在测试的过程中,发现服务已经注册到了sentinel上面,但是里面却没有任何的数据

在这里插入图片描述
这时候不用慌,首先查看一下日志,看看是什么问题

docker logs -f 容器id

在这里插入图片描述
发现是连接超时了,为了解决这个问题,我查了大量资料,基本都说是没有指定服务和控制台通信的IP即

sentinel:
      enabled: true #开启sentinel保护,默认开启
      transport:
        clientIp: 121.40.236.249   #服务的ip地址,即程序的地址
        dashboard: sentinel控制台ip:8858
        port: 99999

但是我是在本地启动的,这个地址也是我本地的地址,怎么会不对呢,后来我就在本地使用jar包的方式启动控制台,dashboard修改为本地IP,神奇的一幕发生了,这回注册上来的服务终于有数据了,终于有数据了
在这里插入图片描述

最后猜想

对应服务注册上sentinel后,出现无数据的情况或这连接超时的情况,可能不是因为你配置出现了错误,而是网络问题导致的,所以大家在部署的时候,最好把sentinel和服务都部署到同一个宿主机上面,例如都是本地或者都是虚拟机和自己购买的服务器,这样子一般就不会出现网络问题

最后,希望这篇文章对大家有一点帮助,同时,如果有什么对方讲的不对的和不清楚的,大家都可以指出!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值