SpringCloudAlibaba:5.1Sentinel的基本使用
概述
简介
Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。
官网
https://sentinelguard.io/zh-cn/
Sentinel的历史
2012 年,Sentinel 诞生,主要功能为入口流量控制。
2013-2017 年,Sentinel 在阿里巴巴集团内部迅速发展,成为基础技术模块,覆盖了所有的核心场景。
2018 年,Sentinel 开源,并持续演进。
2019 年,Sentinel 朝着多语言扩展的方向不断探索,推出 C++ 原生版本, 同时针对 Service Mesh 场景也推出了 Envoy 集群流量控制支持,以解决 Service Mesh 架构下多语言限流的问题。
2020 年,推出 Sentinel Go 版本,继续朝着云原生方向演进。
2021 年,Sentinel 正在朝着 2.0 云原生高可用决策中心组件进行演进; 同时推出了 Sentinel Rust 原生版本。同时我们也在 Rust 社区进行了 Envoy WASM extension 及 eBPF extension 等场景探索。
2022 年,Sentinel 品牌升级为流量治理,领域涵盖流量路由/调度、流量染色、流控降级、过载保护/实例摘除等; 同时社区将流量治理相关标准抽出到 OpenSergo 标准中,Sentinel 作为流量治理标准实现。
特性
1.丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
2.完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
3.广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。
4.完善的SPI扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
工作原理
1.对主流框架提供适配或者显示的 API,来定义需要保护的资源,并提供设施对资源进行实时统计和调用链路分析。
2.根据预设的规则,结合对资源的实时统计信息,对流量进行控制。同时,Sentinel 提供开放的接口,方便您定义及改变规则。
3.Sentinel 提供实时的监控系统,方便您快速了解目前系统的状态。
使用
1.控制台(Dashboard):Dashboard主要负责管理推送规则、监控、管理机器信息等。
2.核心库(Java客户端):不依赖任何框架/库,能够运行于Java 8及以上的版本的运行时环境,同时对Dubbo/Spring Cloud 等框架也有较好的支持。
服务端

docker安装
1.拉取镜像
docker pull docker.io/bladex/sentinel-dashboard
2.创建启动容器【自启动】
docker run --name sentinel --restart=always -d -p 8038:8858 docker.io/bladex/sentinel-dashboard
3.访问

192.168.66.101:8038账号密码【sentinel/sentinel】
客户端

依赖
<?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>java_sc_alibaba</artifactId><groupId>jkw.life</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>test-sentinel-8008</artifactId><dependencies><!--sentinel--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><!--actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- SpringMVC--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>
application.yml
server:port: 8008
spring:application:name: test-sentinel-8008cloud:sentinel:transport:# Sentinel 控制台地址dashboard: 192.168.66.101:8038
启动类
package jkw;import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@Slf4j
public class Main8008 {public static void main(String[] args) {SpringApplication.run(Main8008.class, args);log.info("************Main8008 启动成功 **********");}
}
测试控制器
package jkw.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 测试控制器*/
@RestController
@RequestMapping("/test")
public class TestCon {@GetMapping("/index")public String index() {return "helle sentinel";}
}
测试
发送一次请求,然后打开Sentinel控制台就可以看到
http://localhost:8008/test/index
相关文章:
SpringCloudAlibaba:5.1Sentinel的基本使用
概述 简介 Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 官网 https://sentinelguard.io/zh-cn/ Sentinel的历史 2012 年,Sentinel 诞生,主要功能为入口流量控制。 2013-2017 年…...
SHELL-双重循环习题练习
1.99乘法表 #!/bin/bash #99乘法表for ((second1; second<9; second)) dofor ((first1; first<second; first))do echo -n -e "${first}*${second}$[first*second]\t" done echo done ######### 首先定义了一个外循环变量second,初始值为1&am…...
2024年为什么很多电商商家,都想涌入视频号,究竟是什么原因?
大家好,我是电商糖果 对电商有了解的朋友,在今年肯定发现一个现象,那就是很多商家对视频号比较青睐。 视频号究竟有何魔力,让越来越多的商家都想要入驻。 其实很简单,它让商家看到了市场。 视频号背后是谁…...
Google Gemma 2B 微调实战(IT科技新闻标题生成)
本文我将使用 Google 的 Gemma-2b 模型来微调一个基于IT科技新闻正文来生成对应标题的模型。并且我将介绍如何使用高度集成的训练框架来进行快速微调。 开始前 为了尽可能简化整个流程,我将使用 linux-cn 数据集[1]作为本次训练任务的训练数据。 模型选择使用 Gemma-2b[2],…...
RabbitMQ:深入理解高性能消息队列
RabbitMQ:深入理解高性能消息队列 文章目录 RabbitMQ:深入理解高性能消息队列前言一、RabbitMQ概述二、RabbitMQ的核心概念三、RabbitMQ的工作原理一、生产者发送消息二、交换机转发消息三、队列存储消息四、消费者接收并处理消息 四、RabbitMQ的使用场景…...
【北京迅为】《iTOP-3588开发板源码编译手册》-第4章 Android12/Linux设备树简介
RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…...
C++ C# 贝塞尔曲线
二阶贝塞尔曲线公式 三阶贝塞尔曲线公式 C 三维坐标点 二阶到N阶源码 //二阶公式: FVector BezierUtils::CalculateBezierPoint(float t, FVector startPoint, FVector controlPoint, FVector endPoint) {float t1 (1 - t) * (1 - t);float t2 2 * t * (1 - t);…...
勒索软件漏洞?在不支付赎金的情况下解密文件
概述 在上一篇文章中,笔者对BianLian勒索软件进行了研究剖析,并且尝试模拟构建了一款针对BianLian勒索软件的解密工具,研究分析过程中,笔者感觉构建勒索软件的解密工具还挺有成就感,因此,笔者准备再找一款…...
实时“秒回”,像真人一样语音聊天,GPT-4o模型强到恐怖
今天凌晨OpenAl发布了 GPT-4o,这是一种新的人工智能模式,集合了文本、图片、视频、语音的全能模型。 能实时响应用户的需求,并通过语音来实时回答你,你可以随时打断它。还具有视觉能力,能识别物体并根据视觉做出快速的…...
Properties配置文件和源码
先对测试类进行get方法复写得到getReqType 判断caseinfo等于get时,就是get请求,反之就不是 这里的url和param都是xxx代替,如果直接写内容,每次都会请求 三目运算优化 为什么要用配置文件 test里时url,可以将ip和端口写在配置文…...
redis原生命令及项目使用
主动更新策略 缓存问题及解决 布隆过滤出现哈希冲突解决方案: 选择合适的哈希函数:布隆过滤器的性能和哈希函数的选择密切相关。选择高效、低碰撞率的哈希函数可以降低误判率。通常使用的哈希函数有 MurmurHash、FNV 等。 合理设置过滤器大小:过滤器的大小(位数组的大小)…...
使用VSCode生成代码、查询数据表
利用VSCode中百度生成 一、 1、输入内容:“给我生成一个student表,要求有id,createDate,userName,phone,age,sex,introduce的列信息,给我DDL与DML,5条信息都为中文信息,并且有一个userName必须等于张先生” 2、将生成的语句复制粘贴到数据库…...
使用 PXE+Kickstart 批量网络自动装机
前言: 正常安装系统的话使用u盘一个一个安装会非常慢,所以批量安装的技术就出来了。 一、 概念 PXE (Preboot eXecute Environment,预启动执行环境)是由 Intel 公司开发的技术,可以让计算机通过网络来启动…...
微信小程序交互增强:实现上拉加载、下拉刷新与一键返回顶部【代码示例】
微信小程序交互增强:实现上拉加载、下拉刷新与一键返回顶部【代码示例】 基础概念实现步骤与代码示例1. 下拉刷新2. 上拉加载更多3. 返回顶部 性能优化与安全考虑结语与讨论 在微信小程序的开发过程中,提供流畅的用户体验至关重要,其中上拉加…...
leetcode刷题指南
本文我将分享给大家一套我自己使用良久并觉得非常高效的 学习论,它可以运用到 Leetcode 上的刷题,也可以 generalize 到生活中涉及到学习以及记忆的方方面面。当然,本文将以 Leetcode 刷题为 case study 去进行讲解。 更具体一点, 我会教大家…...
hadoop学习---基于Hive的数据仓库相关函数机制及其优化方案
Hive相关函数(部分): if函数: 作用: 用于进行逻辑判断操作 语法: if(条件, true返回信息,false返回信息) 注意: if函数支持嵌套使用 select if(aa,’bbbb’,111) fromlxw_dual; bbbb select if(1<2,100,200) fromlxw_dual; 200nvl函数:…...
【MySQL数据库】丨高可用之MHA集群部署
一、准备工作 1.1 修改主机名 vim /etc/hosts# 添加对应主机 192.168.28.128 mha1 192.168.28.131 mha2 192.168.28.132 mha31.2 关闭防火墙及修改selinux # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭自启动# 修改selinux vim /etc/sy…...
uniapp的底部弹出层实现保姆式教程
实现照片: 此过程先进入uniapp官网,找到扩展组件 打开找到里面的uni-popup和uni-icons 点击进入,下载&安装 点击下载并导入HBuilderX 导入到你使用的目录,如test目录 同样将uni-icons点击下载并导入HBuilderX 点击合并 此时te…...
国外IP代理免费试用技巧
随着互联网的普及,人们越来越依赖于网络来获取信息、进行交流和娱乐。国外IP代理就成了利器之一。在本文中,我们将探讨如何免费使用国外IP代理。 一、了解国外IP代理的原理 国外IP代理,简单来说,就是通过连接到位于国外的代理服务…...
vue-cropper裁剪图片 vue
效果图 1.配置环境 npm install vue-cropper 2.代码 <template><div class"cropper-content"><div class"cropper-box"><div class"cropper"><vue-cropper ref"cropper" :img"option.img" :…...
基于模型预测算法的微网双层能量管理模型:考虑储能优化与电池退化成本的全寿命周期仿真
MATLAB代码:基于模型预测算法的含储能微网双层能量管理模型 关键词:储能优化 模型预测控制MPC 微网 优化调度 能量管理 参考文档:《A Two-layer Energy Management System for Microgrids with Hybrid Energy Storage considering Degradat…...
一键生成专业工资条:工资条生成器功能详解
在当今数字化办公的时代,一款好的工具能够让工作效率得到质的提升。 工资条生成器就是这样一款专门为财务人员打造的专业工具,它集成了多项实用功能。 下面,就让我们来详细了解一下这款软件的各项功能特性。 首先要介绍的是软件的核心功能…...
快速验证openclaw安装:用快马一键生成环境配置与测试脚本
最近在尝试用openclaw这个开源机器人抓取工具时,发现环境配置和基础功能验证的过程挺费时间的。作为一个经常需要快速验证工具可行性的开发者,我摸索出了一个更高效的方法——用InsCode(快马)平台来一键生成配置脚本和测试原型。下面分享下具体实践过程&…...
别再为小程序后端发愁了!SpringBoot+MyBatis-Plus保姆级整合教程(附完整代码)
从零搭建微信小程序Java后端:SpringBootMyBatis-Plus实战指南 第一次为微信小程序构建后端服务时,面对众多技术选项和配置步骤,很多开发者都会感到无从下手。本文将带你一步步完成一个用户管理模块的后端搭建,重点展示如何用MyBat…...
B站缓存视频合并神器:3步搞定离线视频完整观看体验
B站缓存视频合并神器:3步搞定离线视频完整观看体验 【免费下载链接】BilibiliCacheVideoMerge 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCacheVideoMerge 你是否曾经在B站缓存了喜欢的视频,却发现它们被分割成多个零散的文件&#…...
Snap Hutao:5个必用功能彻底改变你的原神游戏体验
Snap Hutao:5个必用功能彻底改变你的原神游戏体验 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao …...
探索WVG:Widevine DRM安全测试与密钥检索的实践指南
探索WVG:Widevine DRM安全测试与密钥检索的实践指南 【免费下载链接】wvg Chrome/Firefox extension for pen-testing to retrieve encryption keys of Widevine protected content !DONT DECRYPT CONTENT UNLESS YOU HAVE THE RIGHT TO DO IT! 项目地址: https:/…...
微信好友关系智能管理:告别单向社交,重建健康社交网络
微信好友关系智能管理:告别单向社交,重建健康社交网络 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatReal…...
新手友好:基于快马平台从零学习调用阿里悟空AI绘画接口
新手友好:基于快马平台从零学习调用阿里悟空AI绘画接口 作为一个刚接触AI绘画API的新手,我最近尝试了在InsCode(快马)平台上学习调用阿里悟空官网的绘画接口。整个过程比我预想的要简单很多,特别适合像我这样的初学者。下面分享一下我的学习…...
Wan2.2-I2V-A14B开源大模型:支持ONNX Runtime跨平台视频生成
Wan2.2-I2V-A14B开源大模型:支持ONNX Runtime跨平台视频生成 1. 模型概述与核心能力 Wan2.2-I2V-A14B是一款开源的文生视频大模型,基于ONNX Runtime实现跨平台部署能力。该模型能够将文本描述直接转化为高质量视频内容,支持多种分辨率和时长…...
