Spring Cloud学习之三负载均衡

Posted cac2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud学习之三负载均衡相关的知识,希望对你有一定的参考价值。

环境
  eclipse 4.7
  jdk 1.8
  Spring Boot 1.5.2
  Spring Cloud 1.2

主流的负载均衡技术有nginx、LVS、HAproxy、F5,Spring Cloud使用ribbon。

一、ribbon
ribbon是一个负载均衡客户端 类似nginx反向代理,可以很好的控制http和tcp的一些行为。Feign默认集成了ribbon。

技术图片
二、案例

1、修改上一篇的service-member的controller

package com.wjy.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MemberController 
    
    @Value("$server.port")
    private String serverPort;
    
    @RequestMapping("/getUserList")
    public List<String> getUserList() 
        List<String> listUser = new ArrayList<String>();
        listUser.add("zhangsan");
        listUser.add("lisi");
        listUser.add("wjy");
        listUser.add("端口号:"+serverPort);
        return listUser;
    

2、依次启动eureka-server,后启动service-member
修改application.yml后启动:
端口:8762,启动MemberApp -->service-member:8762
端口:8763,启动MemberApp -->service-member:8763
这样就会有两个service-member服务。

技术图片

3、查看两个注册服务

技术图片

技术图片

4、启动sercice-order
sercice-order在pom里依赖了spring-cloud-starter-ribbon,默认使用轮询负载策略

技术图片

技术图片

 

以上是关于Spring Cloud学习之三负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

最新版Spring Cloud Alibaba微服务架构-Ribbon负载均衡篇

nginx学习之反向代理负载均衡

负载均衡学习之DNS域名解析负载均衡

Spring Cloud Gateway负载均衡

2.Spring Cloud Alibaba实现负载均衡-Ribbon

Spring Cloud客户端负载均衡 - Ribbon