一文看懂限流熔断降级

引言

目前分布式微服务架构已经被大多数企业接受,它的优点很多:

  • 水平扩展和弹性伸缩 - 提升系统承载容量
  • 高可用支持 - 由于多点部署,消除了单点风险
  • 模块化设计 - 系统的重用度更高
  • 高内聚低耦合 - 每个微服务功能明确,职责单一,代码容易了解,开发和迭代的速度更快
  • 扩展性 - 以标准协议如REST、SOAP、RPC方式进行服务间交互,解除对技术栈的绑定,具备更好的扩展性。

与此同时,分布式微服务设计带来了系统设计复杂,如外部的一个调用需要通过多个服务协同完成,增加了调用链层级,也对系统的健壮性提出了更高的要求。

例如面对下面的场景,分布式微服务应该如何处理:

  • 双十一流量峰值
  • 微博热搜
  • 恶意爬虫
  • 下游系统服务不稳定引起的雪崩

什么是限流

是指对当前的服务实例设定每秒可以允许请求的服务数量,当超过该数量的时候,则不在接受该调用。

限流是限制服务实例的并发的请求访问量,超过阈值则拒绝。

涉及的算法包括:计数器、滑动窗口、漏桶算法、令牌桶算法。

什么是降级

当出现服务吞吐量巨大,资源不够用的情况,可以使用降级服务观点部分不重要、性能差的服务,避免占用资源,保障主体业务正常使用。

什么是熔断

当服务实例依赖远程服务,而远程服务没有做过过载保护,就会因为请求导致阻塞而耗尽本服务实例资源,开始可能是局部影响,但是往往由于分布式服务彼此之间的各种依赖关系,而导致整体不可用,造成雪崩效应。这时候就需要服务实例设置熔断,熔断后会做一些降级策略,即熔断降级。

Spring Cloud 限流熔断降级实现方式

  • 限流的实现方式有很多 :RateLimiter、Bucket4j、Resilience4j
  • 熔断降级则主要可以依赖Hystrix

相关主题:
相关推荐
  1. 如何通过训练提高Tesseract OCR验证码识别率
  2. Java Web Services介绍
  3. 广州市天河区亲亲袋鼠国际婴幼儿启育中心(天河华港中心) - 广州幼儿园黄页
  4. Python公开课 - 详解模块
  5. 武汉00后大二学妹拍视频月入七十万
  6. 小儿颅脑损伤临床表现是怎么样的 - 婴幼儿疾病百科
  7. 车联网 - 电子围栏概述
  8. Python源码剖析 - Python中的字符串对象
  9. 挂满丛林的小红灯
  10. 武汉女子网上做兼职被骗六十五万
  11. 宝宝红屁股怎样好得快 - 育儿经验
  12. 事发武汉农夫山泉矿泉水内惊现大量虫卵
  13. 央媒聚焦!国庆假期173.78万人次打卡大美黄陂
  14. 海口市龙华区海之星幼儿园 - 海南省幼儿园黄页
  15. 武汉推出越王勾践剑交通卡
  16. Python公开课 - 标准库Thread详解
  17. 奥迪客户不满加价,被武汉4S店销售群殴
  18. 上海市松江区星宝宝文化艺术中心幼稚园 - 上海幼儿园黄页
  19. 断奶后妈妈乳房干瘪了怎么办 - 育儿经验
  20. 骑虎难下
  21. 杀鸡取卵
  22. 警方通报:武汉男子持刀至五死一伤,嫌犯已跳桥
  23. Python基础 - 详解django.utils.dateparse
  24. Python公开课 - 页面解析之pyquery
  25. 三尊雕像的秘密
  26. Python实战 - 爬虫代理IP池的实现
  27. 百名网媒总编辑登上知音号欣赏武汉夜色
  28. 武汉一女子七天被骗220万
  29. 波特的圣诞节
  30. 狐狸医生的故事
  31. 吉林市船营区吉的堡双语资优幼儿园 - 吉林市幼儿园黄页
  32. 大拇指汤姆
  33. 蚂蚁的探险
  34. 湖北将发放消费券 - 武汉新鲜事
  35. 机遇精灵
  36. 宝宝洗完头可以用吹风机吗 - 育儿经验
  37. 儿子和邻居
  38. 昆明市官渡区育才幼儿园 - 昆明市幼儿园黄页
  39. 车企数字化转型(上)
  40. 万年中心幼儿园 - 石家庄幼儿园黄页