开发者说:Sentinel 流控功能在 SpringMVC/SpringBoot 上的实践

本文介绍了Sentinel在SpringMVC和SpringBoot应用中的流量控制实践,包括集成背景、需求分析和实践要点。Sentinel提供了URL限流、Dashboard动态规则修改等功能,满足业务和运维的流控需求。文中还讨论了Sentinel的集成方式、自动配置以及使用ZooKeeper作为规则存储中心,以实现规则的分发。
摘要由CSDN通过智能技术生成

从用户的视角来感受一个开源项目的成长,是我们推出「开发者说」专栏的初衷,即在开发者进行开源项目选型时,提供更为立体的项目信息。专栏所有内容均来自作者原创/投稿,本文是「开发者说」的第6篇,作者 Jason Joo,@友乐活(北京),Sentinel Committer.

1st:《深度剖析开源分布式事务方案 Seata 的事务协调器》
2nd:《RocketMQ 消息发送的高可用设计》
3st:《消息队列 Kafka 和 RocketMQ 之我见》
4th:《如何参与定义一款 IDE 插件》
5th:《基于 Nacos 的网关灰度路由和服务权重灰度》

集成 Sentinel 前生

流控在分布式系统中是较为基本的需求,其需要在系统负载、服务质量、流量甄别、安全⻛控等⽅⾯进⾏保障,并根据业务需求,进⾏动态调整或⼈工临时介入,尤其是在⼀些事件性的时期,以实现快速控制和恢复服务的效果。

流控手段一般挂载在流量网关和业务内的逻辑。

流量网关常见于 Nginx 这类代理层,通过扩展插件、Lua脚本进⾏针对 IP/Path/Query 等形式的流控。业务内则⼤多在局部或框架层进行信号量、线程池、超时时间或其它逻辑来实现流控。前者主要体现在运维的可操作性,不侵⼊业务线,而后者则针对性更强,但有侵⼊性或修改时需要部署,⾯向业务团队可控。

两种类型的流控往往⽐较割裂(由不同的团队在不共享的空间内进行控制),常出现指标的不协调性。

为了解决这⼀问题,我们开始汇总现有的需求,调研相关的系统,并准备实现⼀套可以同时面向业务和运维,进行应用级隔离和满足基本规则类型需求的流控实现,预期

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值