随着微服务的流行,很多公司在逐渐将单体架构项目重构为微服务项目。服务的调用错综复杂,如何保护自身不被其它服务打垮,是项目微服务化后重点需要考虑的问题。
作为解决突增流量打垮服务、服务雪崩的有效手段,服务降级不仅是保护内部服务的稳定运行,也能避免因调用第三方接口导致服务奔溃。在有限的硬件条件下、未知的流量增速以及业务复杂度的不断增长,服务降级已成为微服务项目中不可或缺的一部份。
阿里于 2018 年开源微服务断路器组件 Sentinel 是,承接了阿里巴巴近 10 年的双十一大促流量的核心场景,目前已有 13.3k 的 Star。Sentinel 以流量为切入点,实现流量控制、熔断降级、系统负载保护等多种服务降级方式保护服务的稳定性,并已提供对 Spring Cloud、Dubbo 等多种主流框架的适配。
但是很多人在第一次看到 Sentinel 源码时会感到无从下手。特别是关于节点树这些概念的理解,学习者不得不硬着头片去啃源码,结合官方文档去揣摩代码背后的设计思想。
了解 Sentinel 首先要攻克其基于滑动窗口实现的指标数据统计、以及基于责任链模式实现的服务降级过滤器链,在掌握这两点之后,整个 Sentinel 的框架源码将不难理解。Sentinel 实现的冷启动限流效果算法与匀速限流效果的算法算是限流模块中最难理解的一部份,在介绍这部分内容时,我们会结合 Guava 的限流算法分析,降低理解难度。
本专栏内容安排如下:
吴就业,洋葱集团,后端架构师、Java 开发工程师。主要负责新项目的技术选型与架构设计、旧项目的重构,以及订单服务、支付中心的需求开发与维护。在微服务领域有丰富的实战经验,如:广告系统重构的分布式架构设计、支付中心的技术选型与架构设计、基于 xxl-job 二次开发的分布式定时任务调度平台、自研微服务监控系统。喜欢研究优秀的开源框架源码,擅长 Spring Cloud、Dubbo、Netty、Java 虚拟机字节码等技术。
随着微服务的流行,很多公司在逐渐将单体架构项目重构为微服务项目。服务的调用错综复杂,如何保护自身不被其它服务打垮,是项目微服务化后重点需要考虑的问题。
作为解决突增流量打垮服务、服务雪崩的有效手段,服务降级不仅是保护内部服务的稳定运行,也能避免因调用第三方接口导致服务奔溃。在有限的硬件条件下、未知的流量增速以及业务复杂度的不断增长,服务降级已成为微服务项目中不可或缺的一部份。
阿里于 2018 年开源微服务断路器组件 Sentinel 是,承接了阿里巴巴近 10 年的双十一大促流量的核心场景,目前已有 13.3k 的 Star。Sentinel 以流量为切入点,实现流量控制、熔断降级、系统负载保护等多种服务降级方式保护服务的稳定性,并已提供对 Spring Cloud、Dubbo 等多种主流框架的适配。
但是很多人在第一次看到 Sentinel 源码时会感到无从下手。特别是关于节点树这些概念的理解,学习者不得不硬着头片去啃源码,结合官方文档去揣摩代码背后的设计思想。
了解 Sentinel 首先要攻克其基于滑动窗口实现的指标数据统计、以及基于责任链模式实现的服务降级过滤器链,在掌握这两点之后,整个 Sentinel 的框架源码将不难理解。Sentinel 实现的冷启动限流效果算法与匀速限流效果的算法算是限流模块中最难理解的一部份,在介绍这部分内容时,我们会结合 Guava 的限流算法分析,降低理解难度。
本专栏内容安排如下:
吴就业,洋葱集团,后端架构师、Java 开发工程师。主要负责新项目的技术选型与架构设计、旧项目的重构,以及订单服务、支付中心的需求开发与维护。在微服务领域有丰富的实战经验,如:广告系统重构的分布式架构设计、支付中心的技术选型与架构设计、基于 xxl-job 二次开发的分布式定时任务调度平台、自研微服务监控系统。喜欢研究优秀的开源框架源码,擅长 Spring Cloud、Dubbo、Netty、Java 虚拟机字节码等技术。
绑定成功