大漠知秋的加油站

  • 首页
大漠知秋的加油站
你就当我的烂笔头吧
  1. 首页
  2. Spring Cloud Finchley.RELEASE
  3. 正文

Ribbon 入门

2019年1月3日 232点热度 0人点赞 0条评论

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%E5%85%A5%E9%97%A8

标签: Ribbon Spring Cloud TestTemplate 入门
最后更新:2019年12月26日

大漠知秋

唯黄昏而思烛明,唯覆雪始念日暖,唯放手方知情真,今困苦而怀峥嵘,今飘零而涌乡愁,今孑然而徒唏嘘,唏嘘成愁。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

文章目录
  • Ribbon 简介
  • 入门案例
    • 引入依赖
    • 在启动类中注入配置
    • 编写 Controller

COPYRIGHT © 2022 大漠知秋的加油站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang