当前位置: 首页 > news >正文

Spring Cloud(微服务)学习篇(六)

Spring Cloud(微服务)学习篇(六)

2 Sentinel实现流量规则(控制台版)

2.1 变更pom.xml(shop-user-server项目)代码

2.1.1 加入如下依赖

<!--熔断限流-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

2.1.2 完整的pom.xml文件内容

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>shop-user</artifactId><groupId>com.zlz</groupId><version>1.0</version></parent><modelVersion>4.0.0</modelVersion><artifactId>shop-user-server</artifactId><dependencies><!--服务的注册与发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--mvc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--引入短信接口模块--><dependency><groupId>com.zlz</groupId><artifactId>shop-sms-api</artifactId><version>1.0</version></dependency><!--配置中心--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--熔断限流--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency></dependencies></project>

2.2 在controller包(shop-user-server项目)下面创建SentinelController类

package com.zlz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class SentinelController {int count=0;//资源名称和下方一致@RequestMapping("find")public String find(){count++;System.out.println("进入用户查询方法");return "查询用户:"+count;}
}

2.3 启动Sentinel项目

2.3.1 找到Sentinel控制台jar包的位置按下cmd指令

在这里插入图片描述

2.3.2 输入java -jar sentinel-dashboard.jar指令 然后回车

在这里插入图片描述

2.3.3 访问localhost:8080并输入用户密码(均为sentinel),然后点击登录

在这里插入图片描述

2.3.4 登录后的界面

在这里插入图片描述

2.4 更新application.yml(sho-user-server)内容

2.4.1 加入的代码

 sentinel:eager: true #是否一启动就加载到控制台transport:dashboard: 127.0.0.1:8080 #sentinel控制台地址

2.4.2 完整的application.yml的代码

server:port: 8010 #801开头 表示用户集群 用户服务
spring:application:name: shop-user #项目名称 作为微服务名cloud:nacos:server-addr: 127.0.0.1:8848 #注册中心地址config:server-addr: 127.0.0.1:8848 #配置中心地址sentinel:eager: true #是否一启动就加载到控制台transport:dashboard: 127.0.0.1:8080 #sentinel控制台地址profiles:active: dev #环境,不写读取的就是无环境配置文件 如shop-user.properties,加了啥就会读取啥

2.5 更新SentinelController代码

2.5.1 在find方法上面加上如下注解

@SentinelResource("find") //指定资源名称,和下面requestMapping中的地址是一样的

2.5.2 完整的SentinelController代码

package com.zlz.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class SentinelController {int count=0;@SentinelResource("find")//资源名称和下方一致@RequestMapping("find")public String find(){count++;System.out.println("进入用户查询方法");return "查询用户:"+count;}
}

2.6 启动端口为8010的用户服务并刷新Sential控制台界面

2.6.1 启动用户服务

在这里插入图片描述

2.6.2 刷新sential控制台界面

在这里插入图片描述

2.7 新增流控规则(控制套版本)

2.7.1 点击流控规则➡点击新增流量规则

在这里插入图片描述

2.7.2 编辑流控规则并点击新增按钮

在这里插入图片描述

2.7.3 成功添加流控规则的界面

在这里插入图片描述

2.8 使用JMeter进行压力测试

2.8.1 添加并编辑线程组

a 添加线程组

在这里插入图片描述

b 编辑线程组

在这里插入图片描述

2.8.2 在线程组里面添加并编辑HTTP请求

a 添加HTTP请求

在这里插入图片描述

b 编辑HTTP请求

在这里插入图片描述

2.8.3 在线程组里面添加结果树

在这里插入图片描述

2.8.4 点击绿色运行按钮➡点击no按钮

在这里插入图片描述

2.8.5 点击查看结果树,查看流控规则是否生效

在这里插入图片描述

http://www.lryc.cn/news/27984.html

相关文章:

  • MATLAB-Scatter3-三维散点图投影至XYZ三个平面
  • Unity/C#------委托与事件(一篇文章彻底搞懂...)
  • 别再为 Jenkins 安装烦恼,Docker 帮你轻松解决
  • 汇编语言程序设计(一)
  • 【uni-app教程】四、UniAPP 路由配置及页面跳转
  • ROS从入门到精通系列(二十八)-- ROS控制器图形化界面开发
  • Submodule命令:android如何将自己项目中的某个Module作为gitlab中第三方公共库
  • MySQL索引事务
  • ISO27001信息安全管理体系认证
  • Linux应用GUI开发C++ 之gtkmm4(1)
  • 选课系统的设计与实现
  • 关于安卓的一些残缺笔记
  • MySQL 中的锁有哪些类型,MySQL 中加锁的原则
  • Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作
  • 2023最新版本RabbitMQ下载安装教程
  • 如何使用码匠连接 Elasticsearch
  • jmeter学习笔记二(jmeter函数与后置处理器)
  • 【独家】华为OD机试提供C语言题解 - 子序列长度
  • Java之注解
  • 【C++】string
  • JVM详解——执行引擎
  • python学习——【第二弹】
  • 242. 有效的字母异位词 349. 两个数组的交集
  • web网页设计——JavaScript一些语法
  • php宝塔搭建部署实战CSM会议室预约系统源码
  • 嵌入式知识点-SPI通讯
  • C#教程--01 简介
  • 【java基础】一篇文章彻底搞懂lambda表达式
  • 通用SQL查询分析器
  • 机器学习100天(三十八):038 朴素贝斯-处理离散数据