欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Spring Cloud】Ribbon负载均衡

程序员文章站 2022-06-13 10:41:46
...

本节大纲:
- 简介
- 架构图
- 创建项目(接着上一章节)
- 在Fcat中的应用

简介

Ribbon,主要提供客户侧的软件负载均衡算法。
负载均衡策略:

  • 简单轮询负载均衡
  • 加权响应时间负载均
  • 区域感知轮询负载均衡
  • 随机负载均衡

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。它是一个基于HTTP和TCP的客户端负载均衡器。

架构图

【Spring Cloud】Ribbon负载均衡

创建项目

关键代码
将RestTemplate注入Bean容器中

    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

创建HomeController.java

@RestController
public class HomeController {
    private Logger logger = LoggerFactory.getLogger(HomeController.class);
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private LoadBalancerClient loadBalancerClient;

    @GetMapping("")
    public String home(){
        return "FCat gate";
    }

    @GetMapping("/user")
    public String user(){
        ServiceInstance serviceInstance = loadBalancerClient.choose("fcat-user");
        String url = "http://"+serviceInstance.getHost()+":"+serviceInstance.getPort();
        logger.info("url:{}",url);
        String result = restTemplate.getForObject(url,String.class);
        return result;
    }

}

在Fcat项目中的应用

【Spring Cloud】Ribbon负载均衡

源码地址:https://gitee.com/xfdm_admin/spring-cloud/tree/master
更多相关内容请查看:
angular、spring cloud 开源实战项目源码:https://gitee.com/xfdm/FCat
QQ群:549141844

代码持续更新…

相关标签: spring-cloud