(Java企业 / 公司项目)微服务Sentinel限流如何使用?

这篇具有很好参考价值的文章主要介绍了(Java企业 / 公司项目)微服务Sentinel限流如何使用?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Sentinel限流降级: 一个接口一个方法流量大限制流量,有些接口流量通过了有的没有通过所以就出现了降级操作

2. Sentinel熔断降级:A调用B B自身原因响应不稳定等,A觉得不稳定所以就断开就像保险丝一样

3. Sentinel+ nacos组合:不能持久化配置限流规则和熔断规则

一. 常见的限流算法

1. 静态窗口限流

2. 动态窗口限流:

例如:当前是第2.5秒,静态统计第2秒到现在的请求数,动态:统计第1.5秒到现在的请求数

3. 漏桶限流

4. 令牌桶限流

5.令牌大闸

二. Sentinel官网地址

官网地址: introduction | Sentinel (sentinelguard.io)

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

下载地址我已经打包了: Sentinel-1.8.6资源-CSDN文库

三. Sentinel 介绍

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

 四. Sentinel 使用

导入依赖

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

接下来看官方文档,首先你需要定义资源

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 启动类添加以下方法,定义资源注意这个规则的资源名要与这上面的注解的名字需要一样才能匹配到是哪个方法定义了资源。,启动类的main方法之后调用资源的方法initFlowRules()

    private static void initFlowRules(){
        // 创建一个FlowRule对象的列表。
        List<FlowRule> rules = new ArrayList<>();
        // 创建一个新的FlowRule对象。
        FlowRule rule = new FlowRule();
        // 设置这个规则的资源名。
        rule.setResource("doConfirm");
        // 设置这个规则的grade为QPS。
        rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
        // 设置这个规则的限制QPS为20。
        rule.setCount(1);
        // 将这个规则添加到列表中。
        rules.add(rule);
        // 将这些规则加载到FlowRuleManager中。
        FlowRuleManager.loadRules(rules);
    }

@SentinelResource(value = "doConfirm") 在指定方法上面加上这个注解

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 就是被限流之后就调用下面的方法(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

启动项目打印日志log输出,已定义限流规则

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 开始压测上一节讲的jmeter

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

有些接口可以访问到数据有些请求访问不到被拦截到外面出现异常问题, 解决这个问题也很简单

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 在配置异常信息配置对应的信息就好了

 某个接口对数据库的操作更多就可以使用Sentinel

五. Sentinel 控制台

Sentinel-1.8.6资源-CSDN文库已经打包了可以直接下载就可以使用

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

访问8080端口这个可以改,启动界面在下面账号密码都是sentinel

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 这样可以看到限流监控平台

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 在模块的配置文件中配置以下

# sentinel???https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel
spring.cloud.sentinel.transport.port=8719
spring.cloud.sentinel.transport.dashboard=localhost:8080
spring.cloud.sentinel.web-context-unify=false

将business模块中有流量就会显示控制台

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

配置限流规则 

(Java企业 / 公司项目)微服务Sentinel限流如何使用?,Java企业 / 公司项目知识点,java,微服务,开发语言,分布式,sentinel

 这样就不用写代码来指定规则,控台不保存规则一旦应用重启之前设置的规则就全没了,存在应用内存里面,针对接口来定义限流规则文章来源地址https://www.toymoban.com/news/detail-823387.html

到了这里,关于(Java企业 / 公司项目)微服务Sentinel限流如何使用?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (Java企业 / 公司项目)配置Gateway + Nacos应用名路由转发?

    首先看项目的gateway, 没有进行路由转发的时候的缺点 在gateway模块中的配置的路径都是写死的,到时候我们更改了IP地址又要改这个代码,会很麻烦所以我们应该怎么样做才能使得请求更加方便?这是子模块 在我们请求模块member中配置文件中加入注册中心指定模块的名称,这

    2024年02月02日
    浏览(30)
  • 如何使用Sentinel的Slot插槽实现限流熔断,看完这篇文章会有新的收获

    前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍如何使用Sentinel的Slot插槽实现限流熔断,后续文章将详细介绍Sentinel的其他知识。 如果文章有什么需要改进的地方还请大佬不吝赐教 👏👏。 小威在此先感谢各位大佬啦~~🤞🤞 🏠个人主页

    2024年02月07日
    浏览(37)
  • 基于JAVA+Springboot+Thymeleaf前后端分离项目:通用公司企业网站系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年02月21日
    浏览(47)
  • SpringCloud之Gateway整合Sentinel服务降级和限流

    1.下载Sentinel.jar可以图形界面配置限流和降级规则 地址:可能需要翻墙 下载jar文件 2.引入maven依赖 3.写个自动注入Resource的过滤器类(可以不写注解直接使用) 4.写配置文件 application.properties 5.cmd命令行启动jar文件访问localhost:18080页面,自己设置QPS java -jar -server.port=18080 sentinel-dash

    2024年02月07日
    浏览(32)
  • 微服务韧性工程:利用Sentinel实施有效服务容错与限流降级

            目录 一、雪崩效应 二、Sentinel 服务容错         2.1 Sentinel容错思路         2.2 内部异常兼容         2.3 外部流量控制 三、Sentinel 项目搭建 四、Sentinel 工作原理         服务容错是微服务设计中一项重要原则和技术手段,主要目标是在服务出现故障、网络波

    2024年03月15日
    浏览(72)
  • Sentinel dashboard的使用;Nacos保存Sentinel限流规则

    Nacos环境搭建 Nacos注册中心的使用 Nacos配置中心的使用 Sentinel 容灾中心的使用 Sentinel · alibaba/spring-cloud-alibaba Wiki · GitHub github地址:Sentinel/sentinel-dashboard at master · alibaba/Sentinel · GitHub 创建sentinel-dashboard的启动脚本,并添加如下信息: 目录: 注意:sentinel-dashboard默认会在87

    2024年02月15日
    浏览(26)
  • SpringCloud中 Sentinel 限流的使用

    引入依赖 手动编写限流规则,缺点是不够灵活,如果需要改变限流规则需要修改源码 利用控制台编写限流规则,控制台是额外的Java项目,需要运行起来,优点是不需要修改源码,可以运行时修改限流规则,启动后访问 localhost:18080即可,需要注意的时,控制台一开始并不会显

    2024年02月13日
    浏览(27)
  • 聊一聊服务治理三板斧:限流、熔断、降级和go-sentinel的实现

    我们知道,对于一个项目之初,我们不可能上来就按几千的并发去配置,为什么?两个方面,第一个是成本高。第二个是维护难度大。即便是天猫淘宝这种,也是采用的动态扩容的方式来应对双十一。那么一个项目如何应对突然的高并发,我们有哪些常用的措施和处理呢?我

    2024年01月19日
    浏览(34)
  • 【微服务篇】深入理解资源隔离,限流,熔断原理(Hystrix、Resilience4j和Sentinel)

    限流、降级和资源隔离 是分布式系统设计中常用的三种技术手段,它们主要目的是增强系统的稳定性和可用性,尤其在高并发和不稳定网络环境下显得尤为重要 资源隔离通常有两种主要的实现方式: 线程池隔离和信号量隔离 。 线程池隔离 线程池隔离是通过为每个微服务或

    2024年04月11日
    浏览(30)
  • SpringCloud(17~21章):Alibaba入门简介、Nacos服务注册和配置中心、Sentinel实现熔断与限流、Seata处理分布式事务

    Spring Cloud Netflix项目进入维护模式 https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now 说明 Spring Cloud Netflix Projects Entering Maintenance Mode 什么是维护模式 将模块置于维护模式,意味着 Spring Cloud 团队将不会再向模块添加新功能。我们将修复 block 级别的 bug 以及安全问题,我

    2024年01月19日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包