0%

前几天参加某公司面试,被问到Dubbo的负载均衡算法实现,由于电话面试无法画图详解,不才小生简单口头描述后,换来面试官一句“没这么复杂吧”(…)。于是写下此篇文章,详细介绍下Dubbo框架中负载均衡的加权轮训算法实现。后续如果有闲情的话,再完善其余的算法实现(大概)

阅读全文 »

SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。SPI 机制在第三方框架中也有所应用,比如 Dubbo 就是通过 SPI 机制加载所有的组件。不过,Dubbo 并未使用 java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足需求。在 Dubbo 中,SPI 是一个非常重要的模块。基于 SPI,我们可以很容易的对 Dubbo 进行拓展。

阅读全文 »

滑动时间窗算法通常被用于系统限流,限流的目的是通过对并发访问/请求进行限速,或者对一个时间段内的请求进行限速来保护系统,一旦达到限制速率程序可以进行拒绝、等待或降级等操作。

阅读全文 »