微服务实战系列之Sentinel

前言

微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。

近年来,微服务已赫然崛起于IT界,越来越多的程序员不得不向之靠拢。也正因为各行各业都愿为之倾囊,这大大推动了微服务的扩张式野蛮式发展。

博主也有幸为较多客户提供产品服务,同时接触了较多的微服务项目,在这里愿分享点滴实战经验。不长篇大论,只做锦绣文章;不泛泛而谈,只写满满干货。

从此篇起,我们逐一对微服务的应用进行解剖。

今天,我们一起认识一下在微服务中,担任"警卫"的成员------Sentinel 。

Sentinel 简介

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。它的作用主要体现限流降级两方面。

1.限流

限流就像葛洲坝一样,可以自由定义流量,以避免"洪峰"。在实际应用中,任意时间到来的请求往往是随机不可控的,而系统的处理能力是有限的。我们需要根据系统的处理能力对流量进行控制。Sentinel可视为一个调配器,可以根据需要把随机的请求调整成合适的形状。

2.降级

降低调用链路中的不稳定资源也是 Sentinel 的使命之一。任何一个系统的承载能力都是有限的,如何避免出现不稳定波动,选择降级是很好的出路,从而避免引发"雪崩"。

Sentinel 控制台

接下来,博主带领大家看一下控制台。

首先需要下载一个sentinel-dashboard-1.8.2.jar,下载请前往JAR包。

启动命令如下:

java -server -Xms64m -Xmx256m -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=127.0.0.1:8718 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.2.jar

启动完成后,可登录控制台(用户名密码皆为sentinel):

如此,大家可以熟悉相关的操作,如何实现限流或降级请看流控规则和熔断规则,同时也可结合springcloud-gateway集成完成。

相关推荐
CCblandy2 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
唠点键盘之外的3 小时前
27 存量系统接大模型:旁挂一个 AI 微服务,老架构一行不改
人工智能·微服务·架构
GOWIN革文品牌咨询3 小时前
工业测量品牌系统化搭建指南:从内容架构到长期治理的全流程
大数据·人工智能·架构
forest_094 小时前
Agent 系列02|Agent 架构全景图
人工智能·架构·prompt·agi
天远数科4 小时前
零信任架构实战:基于天远贷前风险报告构建自动化消金信贷风控与多头共债排查网关
运维·人工智能·架构·自动化
一条大祥脚5 小时前
【CS336】lecture7 多卡|通信架构|集合通信|NCCL|通信原语|torch.distributed
分布式·架构·nccl·多机多卡·集合通信
RichardLau_Cx5 小时前
STEPX Neo 技术解析:智能体原生操作系统 Step AOS 与 Agentic Phone 架构深度拆解
架构
Dawson Zhu5 小时前
《Agentic Design Patterns》第 18 章导读:Guardrails 安全模式
人工智能·语言模型·架构·aigc·agi
姜鱼问生6 小时前
Nginx gzip 压缩:一个配置让页面加载快 3 倍
后端·算法·架构
自强的小白6 小时前
项目整个架构的构建和演进。(重点!)
spring cloud·微服务·架构