目录
4. Ribbon是什么,基于Ribbon可以解决什么问题?
一、注解
-
@LoadBalanced注解
使用 @LoadBalanced注解描述RestTemplate对象时,系统底层在基于RestTemplate进行远程服务调用时,会被一个拦截器(LoadBalancerInterceptor)拦截到,然后进行功能增强,这里的功能增强指的是,基于loadBalancerClient对象进行服务实例获取,而这个服务实例获取的过程,底层会采用负载均衡。
-
@EnableFeignClients注解
用于描述一些配置类,告诉系统底层启动时为@FeignClient注解描述的接口创建实现类及对象,然后交给Spring管理
-
@ConditionalOnMissingBean注解
底层默认逻辑实现,@ConditionalOnMissingBean注解配合@Bean注解一起使用时,会在没有指定Bean时,才去创建这个Bean对象
-
@FeignClient注解
@FeignClient 注解告诉Feign Starter,在项目启动时,为此注解描述的接口创建实现类-代理类,用于描述远程服务调用接口,其value属性值有两个层面的含义:
1.你要调用的远程服务名
2.当前bean的名字,假如不使用这个名字还可以使用contextId指定bean的名字
-
@Bean注解
一般用于配置类内部,描述相关方法,用于告诉spring此方法的返回值要交给spring管理,bean的名字默认为方法名,假如需要指定名字可以@Bean(“bean的名字