springcloudalibaba(6)环境搭建 sentinel组件的安装和使用

sentinel组件的安装和使用

sentinel提供了两个服务组件:

一个是 sentinel 用来实现微服务系统中服务熔断、降级等功能。 这点和hystrix 类似
一个是 sentinel dashboard 用来监控微服务系统中流量调用等情况 流控 熔断 降级 配置。 这点和hystrix dashboard类似

Sentinel的构建

1、下载Sentinel https://github.com/alibaba/Sentinel/

2、上传到linux服务器

3、启动

java -Dserver.port=9191 -jar  sentinel-dashboard-1.7.2.jar

4、访问9191端口的web管理页面

 5、输入账号密码为sentinel进行登陆

 Sentinel的使用

1、停止nacos集群

2、启动nacos单机模式

./nacos/bin/startup.sh -m standalone

3、新建一个子模块springcloudAlibaba-sentinel-8998

4、添加相关依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--nacos client-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--引入sentinel依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
    </dependencies>

5、编写配置文件application.yml

server:
    port: 8998
spring:
    application: 
        name: SENTINEL

#nacos server地址
    cloud:
        nacos:
            server-addr: localhost:8848

#开启sentinel保护
        sentinel:
        enabled: true
#指定sentinel dashboard web管理地址
        transport;
            dashboard: localhost:9191
#指定sentinel组件与sentinel dashboard通信地址
#dashboard端口号默认8719
            port: 8719

6、编写controller

package com.zww.spring.springcloudAlibaba.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @RequestMapping("/demo")
    public String demo(){
        return "demo ok!!!";
    }
}

7、启动项目,调用一次/demo,再去观察sentinel

 Sentinel中对系统保护的五大规则

一、流控规则:流量控制(flow control

  • 其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。

二、降级规则:熔断降级(Degrade Service)

  • 其原理是监控应用中的资源调用请求,达到指定阀值时自动出发熔断降级

三、热点规则:热点参数规则(ParamFlow)

  • 其原理是很多时候我们希望统计某个热点数据中访问频次最高的 TOP K 数据,并对其进行限制

四、系统规则:系统自适应限流(SysetmFlow)

  • 其原理是 Sentinel 系统自适应限流从整体维度对应用入口流量进行控制

五、授权规则:来源访问控制(黑白名单)规则(AuthorityRule)

  • 很多时候,我们需要根据调用来源来判断次该请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制(黑白名单控制)的功能。来源访问控制根据资源的请求(origin)限制资源是否通过,若配置白名单则只有请求来源白名单内时才可通过;若配置黑名单则请求所在黑名单时不通过,其余的请求通过。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!对于搭建Spring Cloud Alibaba框架,您可以按照以下步骤进行操作: 1. 创建一个Spring Boot项目:首先,您需要创建一个空的Spring Boot项目作为基础。您可以使用Spring Initializr(https://start.spring.io/)来生成一个基本的Spring Boot项目。 2. 添加Spring Cloud Alibaba依赖:在项目的pom.xml文件中,添加必要的依赖以支持Spring Cloud Alibaba框架。以下是一些常用的依赖: ```xml <!-- Spring Cloud Alibaba核心依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-cloud</artifactId> </dependency> <!-- 服务注册与发现 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- 配置中心 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!-- 熔断与限流 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <!-- 分布式事务 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-seata-all</artifactId> </dependency> ``` 3. 配置Nacos作为服务注册与发现中心:在application.properties(或application.yml)文件中,配置Nacos的相关信息,包括Nacos服务器地址、端口等。例如: ```properties spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ``` 4. 配置Spring Cloud Alibaba Sentinel作为熔断与限流组件:在application.properties(或application.yml)文件中,配置Sentinel的相关信息。例如: ```properties sp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值