jdk的spi机制
dubbo的spi机制,同一个接口,有多个实现,通过配置方式来决定使用哪种策略
jdk的spi代码,加深对spi概念的理解
jdk的spi机制默认已经规定好了,策略就配置在META-INF/services/目录下
这里配置了2个实现类的全路径就使用2个实现策略
dubbo的spi机制
dubbo的spi概念和jdk的spi机制原理一样,具体配置策略的方式有所不同,使用key/value形式
示例,使用dubbo的spi机制新增加两个负载策略,使用第一台机器和最后一台机器的负载策略
dubbo.xml配置文件,里面loadbalance配置的值就对应的META-INF/dubbo/配置内容的key
如此就实现了新增的两个负载策略
看看实际效果如何,现在分别在2台机器上分别启动服务方provider,客户端配置了负载策略,OrderService服务调用使用第一台机器,UserService服务调用使用最后一台机器
第一台机器的打印效果,userService的调用都负载到了第一台机器上
第二台机器打印效果,orderService都被负载到了第二台机器上