SpringCloudRibbon

SpringCloudRibbon是一个基于HTTP和TCP的客户端负载均衡工具。是基于Netfix Ribbon实现的。SpringCloud将其封装,可以让我们轻松的将面向服务的REST模板自动转换成客户端负载均衡的服务调用。
用法: 在注册RestTemplate方法上添加@LoadBalanced注解开启客户端负载均衡,然后修改请求的URL,直接使用服务名请求,这里能够直接使用服务名,是因为在SpringCloudRibbon中有一个拦截器,他能够在实际调用的时候自动的选取服务实例,并将实际请求的ip地址替换这里的服务名。
默认 轮循
Application.yml配置:
User-server:(服务名 你要对哪个服务进行负载均衡)
Ribbon:(固定写法)

NFLoadBalancerRuleClassName: com.netflix.loadbalance.RandomRule
(规则名称 你要用哪个规则 随机or轮询) 随机规则
RestTemplate与@LoadBalanced
在Spring Cloud中服务的发现与消费一文中首先使用了RestTemplate并且开启了客户端负载均衡功能,开启负载均衡很简单,只需要在RestTemplate的bean上再添加一个@LoadBalanced注解即可 它会内置一个拦截器 去拦截RestTemplate请求 直接写服务id 不用给服务地址了
@LoadBalanced注解开启客户端负载均衡
String url = “Http://服务id”

 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
     <version>2.0.1.RELEASE</version>
 </dependency>

默认超时时常 1秒
配置的话为:
Ribbon:
ConnecitonTimeOut: xxxx(连接超时时常 单位 毫秒)
ReadTime: xxxx (读取超时时常)

猜你喜欢

转载自blog.csdn.net/Rebirth321/article/details/88175355