spring-cloud【Ribbon】
来源:互联网 发布:交大昂立网络教育 编辑:程序博客网 时间:2024/06/05 22:50
1. Ribbon简介
2. 整合Ribbon
1. 添加依赖
2. 为RestTemolate添加@LoadBalanced注解
@Bean@LoadBalancedpublic RestTemplate getRestTemp() {return new RestTemplate();}
3. 使用RestTemplate
4. 查看当前使用的节点
3.自定义Ribbon配置
1. 代码自定义ribbon客户端
@Configuration@RibbonClient(name = "server-user", configuration = FooConfiguration.class)public class TestConfiguration {}
FooConfiguration
必须是@Configuration
,但请注意,它不在主应用程序上下文的@ComponentScan
中,否则将由所有@RibbonClients
共享。如果您使用@ComponentScan
(或@SpringBootApplication
),则需要采取措施避免包含(例如将其放在一个单独的,不重叠的包中,或者指定要在@ComponentScan
)
Spring Cloud Netflix默认情况下为Ribbon(BeanType
beanName:ClassName
)提供以下bean:
IClientConfig
ribbonClientConfig:DefaultClientConfigImpl
IRule
ribbonRule:ZoneAvoidanceRule
IPing
ribbonPing:NoOpPing
ServerList<Server>
ribbonServerList:ConfigurationBasedServerList
ServerListFilter<Server>
ribbonServerListFilter:ZonePreferenceServerListFilter
ILoadBalancer
ribbonLoadBalancer:ZoneAwareLoadBalancer
ServerListUpdater
ribbonServerListUpdater:PollingServerListUpdater
创建一个类型的bean并将其放置在@RibbonClient
配置(例如上面的FooConfiguration
)中)允许您覆盖所描述的每个bean。例:
@Configurationpublic class FooConfiguration { @Bean public IPing ribbonPing(IClientConfig config) { return new PingUrl(); }}
这用PingUrl
代替NoOpPing
。
2. 属性自定义ribbon客户端
支持的属性如下所示,应以<clientName>.ribbon.
为前缀:
NFLoadBalancerClassName
:应实施ILoadBalancer
NFLoadBalancerRuleClassName
:应实施IRule
NFLoadBalancerPingClassName
:应实施IPing
NIWSServerListClassName
:应实施ServerList
NIWSServerListFilterClassName
应实施ServerListFilter
@RibbonClient(configuration=MyRibbonConfig.class)
定义的bean和由Spring Cloud Netflix提供的默认值。server-users: ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
4. 脱离eureka使用Ribbon
- spring cloud-ribbon
- spring cloud ribbon配置
- spring cloud Ribbon
- spring cloud -- Ribbon
- Spring Cloud Ribbon
- spring cloud ribbon
- Spring Cloud Ribbon
- spring-cloud【Ribbon】
- spring cloud day02【 ribbon】
- Spring Cloud Ribbon
- Spring Cloud Ribbon--智能路由
- Spring Cloud -- Ribbon负载均衡
- Spring Cloud源码分析Ribbon
- Spring Cloud Eureka+Ribbon+Hystrix
- Spring-Cloud 负载均衡 Ribbon
- 【Spring Cloud】Ribbon负载均衡
- Spring Cloud Ribbon服务重试
- Spring Cloud Ribbon 重试机制
- 关于parseInt
- nginx 中location和root,你确定真的明白他们关系?
- tomcat启动总打印许多debug信息如何解决
- javax.el.ELException解决方案
- Java PDF 转图片
- spring-cloud【Ribbon】
- Android笔记
- java集合实例
- Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition
- (error) CLUSTERDOWN Hash slot not served
- hadoop中master能够启动datanode,但是datanode无法连接namenode 报 17/11/16 03:49:13 WARN ipc.Client: Failed to conn
- LeetCode 279. Perfect Squares
- nginx的upstream目前支持5种方式的分配
- Linux下启动tomcat的脚本文件