【Spring Cloud】Ribbon负载均衡

来源:互联网 发布:linux版jdk1.8下载 编辑:程序博客网 时间:2024/06/05 19:38

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

简介

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

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

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

架构图

这里写图片描述

创建项目

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

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

创建HomeController.java

@RestControllerpublic 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项目中的应用

这里写图片描述

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

代码持续更新…

原创粉丝点击