4.springcloudalibaba sentinel v1.8.6版本服务搭建

文章目录

  • 前言
  • 一、sentinel服务端安装
    • 1.1 服务端下载
    • 1.2 启动sentinel服务
  • 二、客户端使用sentinel
    • 2.1.pom增加sentinel包
    • 2.2 增加配置
    • 2.3 启动服务
  • 三、验证
    • 3.1 给hello接口增加流控规则
    • 3.2 测试结果如下
  • 总结


前言

前面完成了gateway项目部署并且测试,现在部署搭建sentinel服务并且测试。


一、sentinel服务端安装

1.1 服务端下载

下载地址
这里选择的是目前最新的sentinel版本
在这里插入图片描述
直接下载启动jar包,使用命令安装服务
在这里插入图片描述

1.2 启动sentinel服务

java -Dserver.port=8480 -Dcsp.sentinel.dashboard.server=192.168.184.131:8480 -Dproject.name=sentinel-dashboard -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=123456 -jar sentinel-dashboard-1.8.6.jar &
# 指定控制台的端口为8480
-Dserver.port=8480 
# 指定要被哪个控制台监控(这里指定的是自己监控自己)
-Dcsp.sentinel.dashboard.server=192.168.184.131:8480 
# 指定实例名称(名称会在控制台左侧以菜单显示)
-Dproject.name=sentinel-dashboard 
# 设置登录的帐号为:sentinel 
-Dsentinel.dashboard.auth.username=sentinel 
# 设置登录的密码为:123456
-Dsentinel.dashboard.auth.password=123456 

使用设置的账号密码登录如下图所示启动成功
在这里插入图片描述

二、客户端使用sentinel

2.1.pom增加sentinel包

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>

完整pom如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.springcloudalibaba</groupId><artifactId>server</artifactId><version>0.0.1-SNAPSHOT</version><name>server</name><description>Demo project for Spring Boot</description><properties><java.version>8</java.version><spring-boot.version>2.6.13</spring-boot.version><spring-cloud.version>2021.0.5</spring-cloud.version><spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version></properties><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- SpringCloud Alibaba Nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- SpringCloud Alibaba Nacos Config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency></dependencies><dependencyManagement><dependencies><!-- SpringCloud 微服务 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud Alibaba 微服务 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringBoot 依赖配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.6.0</version><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

2.2 增加配置

    sentinel:#取消懒加载eager: true#sentinel服务地址transport:dashboard: 192.168.184.131:8480

完整的配置如下

# Tomcat
server:port: 8081# Spring
spring:application:# 应用名称name: serverprofiles:# 环境配置active: devmain:allow-bean-definition-overriding: truecloud:nacos:discovery:# 服务注册地址server-addr: 192.168.184.130:8848group: alibabanamespace: 7dd9fa65-9c9d-484f-94f8-d621ca05d0e5register-enabled: trueconfig:# 配置中心地址server-addr: 192.168.184.130:8848# 配置文件格式file-extension: ymlgroup: ${spring.cloud.nacos.discovery.group}namespace: ${spring.cloud.nacos.discovery.namespace}shared-configs[0]:data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 配置文件名-Data Idgroup: ${spring.cloud.nacos.discovery.group}   # 默认为DEFAULT_GROUPrefresh: falsesentinel:#取消懒加载eager: true#sentinel服务地址transport:dashboard: 192.168.184.131:8480
logging:level:com.alibaba.nacos.client: info

2.3 启动服务

启动服务后,查看控制台,发现server服务已经可以看到监控情况。
在这里插入图片描述
可以看到server服务已经在监控下了

三、验证

3.1 给hello接口增加流控规则

接口如下

package com.springcloudalibaba.gateway.control;import com.alibaba.csp.sentinel.annotation.SentinelResource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
public class Control {@RequestMapping(value = "/hello")public String index() {System.out.println("testname: ");return "testName";}}

给hello接口增加流控规则
资源名为请求接口路径,qps为1s请求数
在这里插入图片描述

3.2 测试结果如下

在这里插入图片描述
可以看到流控规则已经生效

总结

1.sentinel启动使用,比较简单,后面还可以配置流控规则持久化,这里就不演示了,大概知道了sentinel如何使用。
2.sentinel不仅仅可以限流,还可以熔断,配置接口白名单,黑名单。
3.使用@sentinelResource注解还可以自定义异常返回,更加灵活的使用sentinel配置异常返回。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/133265.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ElasticSearch】深入探索 DSL 查询语法,实现对文档不同程度的检索,以及对搜索结果的排序、分页和高亮操作

文章目录 前言一、Elasticsearch DSL Query 的分类二、全文检索查询2.1 match 查询2.2 multi_match 查询 三、精确查询3.1 term 查询3.2 range 查询 四、地理坐标查询4.1 geo_bounding_box 查询4.2 geo_distance 查询 五、复合查询5.1 function score 查询5.2 boolean 查询 六、…

199、在RabbitMQ管理控制台中管理 Exchange(充当消息交换机的组件) 和 Queue(消息队列),以及对默认Exchange的讲解

目录 ★ 自动创建的Exchange★ 创建Exchange所支持的属性演示&#xff1a;创建消息队列 ★ 持久化消息★ 默认Exchange讲解 使用默认的 Exchange 支持 P2P: Exchange&#xff1a;把客户端发来的消息路由到消息队列去 每个虚拟机下面都默认有 Exchange &#xff0c;通过这个默认…

解决jmeter软件显示为英文、返回数据乱码、设置编码格式的问题

一.jmeter软件每次打开都需要手动切换中文 1.修改配置文件&#xff0c;可以把jmeter设置成中文&#xff1a; 2.打开jmeter.properties配置文件&#xff0c;修改languagezh_CN 二.返回数据乱码 改配置文件 进入Jmeter的bin目录下&#xff0c;找到jmeter.properties文件&#…

Docker-harbor私有仓库部署与管理

搭建本地私有仓库 #首先下载 registry 镜像 docker pull registry #在 daemon.json 文件中添加私有镜像仓库地址 vim /etc/docker/daemon.json { "insecure-registries": ["20.0.0.50:5000"], #添加&#xff0c;注意用逗号结…

【数据库系统概论】SQL是什么?它有什么特点?

SQL是什么SQL的特点SQL的基本概念感谢 &#x1f496; SQL是什么 SQL&#xff08;Structured Query Language&#xff09;即结构化查询语句&#xff0c;是关系数据库的标准语言。它的功能不仅仅是查询&#xff0c;而是包括数据库模式创建、数据库数据的插入和修改、数据库安全性…

Redis实现简易消息队列的三种方式

Redis实现简易消息队列的三种方式 消息队列简介 消息队列是一种用于在计算机系统中传递和处理数据的重要工具。如果你完全不了解消息队列&#xff0c;不用担心&#xff0c;我将尽力以简单明了的方式来解释它。 首先&#xff0c;想象一下你正在玩一个游戏&#xff0c;而游戏中…

和鲸 ModelWhale 与华为 OceanStor 2910 计算型存储完成兼容性测试

数智化时代&#xff0c;数据总量的爆炸性增长伴随着人工智能、云计算等技术的发展&#xff0c;加速催化了公众对于数据存储与应用的多元化需求。同时&#xff0c;数据也是重要的基础资源和战略资源&#xff0c;需要严格保障其安全性、完整性。搭建国产数据基础设施底座&#xf…

Ansible概述以及模块

目录 一、Ansible概述 1、Ansible是什么 2、Ansible的作用 3、Ansible的特性 4、Ansible的工作机制 5、Ansible的特点 二、Ansible安装部署 1、管理端安装ansible 2、配置主机清单 3、配置密钥对验证 三、Absible命令行模块 1、command模块 2、shell模块 3、cron …

提升自媒体影音创作效率,这 10 款 AI 工具打工人必备!

随着AI工具的不断涌现&#xff0c;自媒体影音创作的效率也得到了提升&#xff0c;本次为大家介绍10款AI影音工具&#xff0c;为你的自媒体创作助力&#xff01; 还是先上一张脑图&#xff1a; 自媒体必备AI工具 1. Runway AI视频编辑工具&#xff0c;支持文字转视频 目前最…

MySQL常用命令02

今天主要总结下命令行模式下创建数据库、查看数据库以及删除的命令。 1.创建数据库的命令&#xff1a;CREATE DATABASE [IF NOT EXISTS] 数据库名称; 创建一个名为db_teaching的数据库 库已经创建成功&#xff0c;重复创建报错&#xff1a; 提示改数据库已经存在。 我们在创…

Flask框架配置celery-[1]:flask工厂模式集成使用celery,可在异步任务中使用flask应用上下文,即拿即用,无需更多配置

一、概述 1、celery框架和flask框架在运行时&#xff0c;是在不同的进程中&#xff0c;资源是独占的。 2、celery异步任务如果想使用flask中的功能&#xff0c;如orm&#xff0c;是需要在flask应用上下文管理器中执行orm操作的 3、使用celery是需要使用到中间件的&#xff0…

go mod 使用三方包、go get命令

一、环境变量设置 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,https://goproxy.io,direct 二、goland开启 go mod 三、go mod 使用 在go.mod文件中声明三方包地址&版本号即可&#xff0c;如下&#xff1a; 开发工具goland会自动解析go.mod文件&#x…