Sentinel介绍及搭建

news2025/1/13 19:50:59

分布式流量防护

服务雪崩

服务提供者不可用导致服务调用者也跟着不可用,以此类推引起整个链路中的所有微服务都不可用

分布式流量防护

在分布式系统中,服务之间的相互调用会生成分布式流量。如何通过组件进行流量防护,并有效控制流量,是分布式系统的技术挑战之一

服务保护技术

在SpringCloud当中支持多种服务保护技术Hystrix/Sentinel/Resilience4J

Sentinel

Sentinel

Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等来保障服务之间的稳定性

主要特性

丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。

完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。

广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。

完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。

linux环境安装

网址

https://github.com/alibaba/Sentinel/releases

软件

sentinel-dashboard-1.8.3.jar

Linux启动(jar包所在目录,记得修改ip)

java -Dserver.port=8858 \

-Dcsp.sentinel.dashboard.server=192.168.66.101:8858 \

-Dproject.name=sentinel-dashboard \

-jar ./sentinel-dashboard-1.8.3.jar

访问(最好谷歌)

192.168.66.101:8858

账号密码【sentinel/sentinel

使用docker安装

拉取镜像

docker pull docker.io/bladex/sentinel-dashboard

创建容器自启动,记得修改端口号

docker run --name sentinel --restart=always -d  -p 8858:8858 docker.io/bladex/sentinel-dashboard

访问

192.168.66.101:8858

账号密码【sentinel/sentinel

在项目中集成

创建maven项目子模块cloud-providerSentinel9003

pom.xml

<dependencies>
    <!--     sentinel依赖-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    </dependency>
    <!--nacos-discovery-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <!--SpringMVC-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--Actuator-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!--Lombook-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

Yaml配置文件

server:
  port: 9003
spring:
  application:
    name: cloud-providerSentinel9003
  cloud:
    nacos:
      discovery:
        # Nacos地址
        server-addr: 192.168.66.101:8848
    sentinel:
      transport:
        # Sentinel 控制台地址
        dashboard: 192.168.66.101:8858
        # sentinel api端⼝,默认8719
        port: 8719

启动类

@SpringBootApplication
public class providerSentinel9003 {
    public static void main(String[] args) {
        SpringApplication.run(providerSentinel9003.class,args);
    }
}


测试类

@RequestMapping("/providerSentinel9003")
@RestController
public class ProviderSentinel9003Controller {
    @GetMapping("testA")
    public String testA(){
        return "------------testA";
    }
}

测试

http://localhost:9003/providerSentinel9003/testA

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 Mac 和 Windows 上恢复未保存或删除的 PDF

Adobe Acrobat PDF 是一种常用格式。我们可能会在不同的 PDF 编辑器中编辑和保存 PDF 文件。但是&#xff0c;如果不保存 PDF 文件或不小心将其删除&#xff0c;那将是一种令人不安的体验。 保持冷静&#xff01;首先&#xff0c;尽可能多地停止运行应用程序&#xff0c;这样它…

( 哈希表) 217. 存在重复元素 ——【Leetcode每日一题】

❓217. 存在重复元素 难度&#xff1a;简单 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true&#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1] 输出&#xff1a;true…

工作7年的程序员,明白了如何正确的“卷“

背景 近两年&#xff0c;出台和落地的反垄断法&#xff0c;明确指出要防止资本无序扩张。 这也就导致现在的各大互联网公司&#xff0c;不能再去染指其他已有的传统行业&#xff0c;只能专注自己目前存量的这些业务。或者通过技术创新&#xff0c;开辟出新的行业。 但创新这…

go-zore入门,可能看这一篇就行了

本文主要内容 微服务框架对比goctl的安装和使用go-zore的api服务go-zore的rpc服务一探负载均衡的实现方法服务发现使用consul代替etcd实现服务发现中间件的实现相关代码已传送至gitee点击获取代码文中相关连接无跳转请点击查看原文 go微服务框架对比 参考文档 在 Go 语言中&…

AI | 浅谈AI技术以及其今后发展

文章概要 近期AI成为热点话题&#xff0c; GPT&#xff0c; new bing&#xff0c; bard&#xff0c;AI 绘画等 AI 编程工具引发大量讨论。请结合自身学习与工作经历&#xff0c;一起来聊聊你对AI技术以及其今后发展的看法吧。 &#x1f31f;&#x1f31f;&#x1f31f;个人简介…

【VSCode】1、VSCode 如何连接服务器

文章目录 一、安装 remote-ssh 插件二、直接连接三、配置 SSH 公匙&#xff0c;免密登录 一、安装 remote-ssh 插件 点击插件搜索框&#xff0c;搜 remote-ssh&#xff0c;点击安装 安装完成后就会出现下面的图标&#xff1a; 二、直接连接 点击加号&#xff0c;输入 ssh 连接…

Web前端(更新中)

文章目录 什么是WEB前端HTMLHTML的简介运行环境和开发环境标签的语法结构页面的分类 常用标签head中常用标签body中的常用标签&#xff0c;特殊符号&#xff0c;语义化标签 什么是WEB前端 简单来说就是网页&#xff0c;由多种技术参与制作的&#xff0c;向用户展示的页面 技术…

Java 20和IntelliJ IDEA,一起让开发变得更轻松!

IntelliJ IDEA&#xff0c;是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 相…

JavaScript 中函数 柯里化风格的运用

导语 当我第一次看见 柯里化 这个词语的时候&#xff0c;我也表现出一脸懵&#xff0c;在代码程序中&#xff0c;看见这种 “高大上”的一些词汇叫法的时候&#xff0c;下意识的会觉得这个概念很难很深奥&#xff0c;但是当冷静下来&#xff0c;去深究过后&#xff0c;就会发现…

Jetson 学习笔记(十六):使用SDK Manager烧录Jetson Nano

SDK Manager 前期准备开始安装 前期准备 安装VMware虚拟机&#xff0c;Ubuntu系统&#xff0c;VMware tools&#xff0c;然后在Ubuntu中安装Nvidia SDK Manager&#xff0c;最后进行烧录。 VMware、Ubuntu系统以及VMware tools&#xff1a;安装链接Nvidia SDK Manager&#x…

ArcGIS Pro数据

目录 1 数据模型 1.1 矢量数据 1.2 栅格数据 1.2.1 栅格数据用途 1.2.2 影像数据地理属性 1.2.3 影像分辨率 1.2.4 栅格波段 2 常用数据格式 2.1 CAD 2.1.1 CAD格式 2.1.2 CAD要素数据集 2.1.3 CAD要素数据集要素类 2.1.4 ArcGIS Pro支持的AutoCAD和MicroStation要…

为什么Web自动化测试需要掌握多种技能?看完就知道了

B站首推&#xff01;2023最详细自动化测试合集&#xff0c;小白皆可掌握&#xff0c;让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 1.编程语言 2.Web开发知识 3.自动化测试框架 4.版本控制系统 5.数据库基础知识 历史进程&#xff1a;…

详解RocketMQ ACL机制的设计实现原理

一、序言 RocketMQ在4.4版本之后为我们提供了ACL权限校验机制,可以实现针对Topic资源级别的用户访问权限控制,ACL的实现能够在一定程度上保证RocketMQ集群数据的安全性。试想一下,如果没有ACL权限校验,在生产环境上只要部署任意的RocketMQ控制台就可以对topic进行操作,存…

【无人机】无人机平台的非移动 GPS 干扰器进行位置估计的多种传感器融合算法的性能分析(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

如何通过 8 个必备技巧确定工作任务的优先级

你的每项任务都同样紧急吗&#xff1f; 你是否制定了一个简单的待办事项清单&#xff0c;并从头到尾地完成每一项任务&#xff1f; 如果你实际上没有对任务进行优先排序&#xff0c;那么这个项目会被拉长。当你不知道如何根据你或你的团队的效率进度来确定项目的优先次序时&a…

Flutter 透明视频播放插件——基于字节跳动AlphaPlayer

字节跳动&#xff1a;AlphaPlayer GitHub - bytedance/AlphaPlayer: AlphaPlayer is a video animation engine. 关于透明视频 透明视频的播放&#xff0c;对于webm格式的视频&#xff0c;在h5上面是很容易播放的 但是对于android或者flutter来说&#xff0c;尤其flutter的…

PoE、PoE+、PoE++交换机功率用途有何不同

随着网络部署终端的设备越来越多&#xff0c;场景千差万别、布署时间有先有后&#xff0c;因此通过PoE交换机为其远程供电是最佳的选择。我们一般常见的PoE、PoE交换机比较多&#xff0c;PoE目前还有待进一步被人了解&#xff0c;这三款的区别可以从历史进程上来进行总结归纳。…

【linux-进程2】进程控制

&#x1f308;环境变量 &#x1f344;初识 系统带的命令可以直接运行&#xff08;ls ll命令等&#xff09;&#xff0c;但是我们自己写的命令必须要带上路径才能运行&#xff08;./myproc&#xff09;&#xff0c;这是什么原因导致的&#xff1f;如果我们也想自己写的命令直接…

实时数仓--数据实时接入模块相关视频录制完成

数据实时接入部分的视频已于昨晚录制完成&#xff0c;由于视频中涉及实现思路和实现代码都来自生产项目&#xff0c;且经过作者多次熬夜录制完成&#xff0c;所以这套视频需付费观看&#xff0c;介意的朋友请见谅。 具体说明如下&#xff1a; 对《实时数仓架构那些事儿》系列文…

【LeetCode】404. 左叶子之和

1.问题 给定二叉树的根节点 root &#xff0c;返回所有左叶子之和。 示例 1 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中&#xff0c;有两个左叶子&#xff0c;分别是 9 和 15&#xff0c;所以返回 24 示例 2 输入: root [1] 输出: 0 提示: 节点数…