Ribbon 入门

Ribbon 简介

  Ribbon 是一个客户端负载均衡器(Nginx 为服务端负载均衡),它赋予了应用一些支配 HTTP 与 TCP 行为的能力,可以得知,这里的客户端负载均衡也是进程内负载均衡的一种。它在 Spring Cloud 生态内是一个不可缺少的组件,少了它,服务便不能横向扩展,这显然是有违云原生12要素的。此外 Feign 与 Zuul 中已经默认集成了 Ribbon,在我们的服务之间凡是涉及调用的,都可以集成它并应用,从而使我们的调用链具备良好的伸缩性。

入门案例

引入依赖

<!-- Spring Cloud Ribbon -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-ribbon</artifactId>
</dependency>

在启动类中注入配置

/**
 * Ribbon Http 请求 客户端负载均衡器
 */
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
    return new RestTemplate();
}

编写 Controller

/**
 * @Author:大漠知秋
 * @Description:Ribbon 客户端负载均衡 请求 Controller
 * @CreateDate:6:02 PM 2018/10/25
 */
@RestController
@RequestMapping(
        value = "/ribbon",
        produces = MediaType.APPLICATION_JSON_UTF8_VALUE
)
public class RibbonRestTemplateController {

    @Resource
    private RestTemplate restTemplate;

    @RequestMapping(
            value = "/getPort",
            method = RequestMethod.GET
    )
    public String getPort() {
        return restTemplate.getForObject("http://demo-goods/goods/getPort", String.class);
    }

}

  通过以下命令启动两个提供者:

  • spring-boot:run -Dserver.port=11200
  • spring-boot:run -Dserver.port=11201

  访问查看结果:

负载结果

源码:https://github.com/SlowSlicing/demo-spring-cloud-finchley/tree/Ribbon入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值