码迷,mamicode.com
首页 > 其他好文 > 详细

使用 Ribbon 实现客户端侧负载均衡

时间:2020-12-07 12:35:22      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:this   用法   应该   can   sys   注解   主程序   class   属性   

使用 Ribbon 实现客户端侧负载均衡

一、基本用法

一般如果导入 Eureka Client 服务的话,自动包含了 Ribbon,所以无需再次导入。

用法如下:

第一种:创建一个名为 RestTemplate 的 bean,并为其添加 @LoadBalanced 注解,使用该 RestTemplate 请求其他服务的接口即可实现客户端侧负载均衡,当 Eureka 和 Ribbon 联合使用时可使用虚拟域名直接访问微服务,如 restTemplate.getForObject("http://user-info-server/sys/info",User.class)

第二种:自动写入一个 LoadBalancerClient 类实例,使用该实例的 choose 方法可以选择微服务,然后可以查看该微服务的一些信息。

@Autowired private LoadBalancerClient loadBalancerClient;
ServiceInstance serviceInstance = this.loadBalancerClient.choose("user-info-server");
//使用 ServiceInstance 可以获取微服务的 Host、Port

二、自定义 Ribbon 配置

Java 代码配置

1、创建 Ribbon 配置类

/**
* 注意:该类不应该在主程序上下文的 @ComponentScan 中
**/
@Configuration
public class RibbonConfiguration
{
    @Bean
    public IRule ribbonRule()
    {
        return new RandomRule();
    }
}

2、创建一个空类,并在其上添加 @Configuration 和 @RibbonClient 注解。

/**
* 使用 RibbonClient,为特定 name 的 Ribbon Client 自定义配置。
* 使用 @RibbonClient 的 configuration 属性,指定 Ribbon 的配置类
**/
@Configuration
@RibbonClient(name = "user-info-server",configuration = RibbonConfiguration.class)
public class RibbonClientConfigration
{}

使用 Ribbon 实现客户端侧负载均衡

标签:this   用法   应该   can   sys   注解   主程序   class   属性   

原文地址:https://www.cnblogs.com/zolmk/p/14073902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!