美文网首页
五、微服务实现负载均衡

五、微服务实现负载均衡

作者: joy_蓝蜘蛛 | 来源:发表于2018-07-17 16:14 被阅读33次

负载均衡说明

除了SpringCloud中提供框架外。还有nginxlvsF5(硬件当中的负载均衡)也可以实现负载均衡。nginx通过反向代理。

一、只要微服务的名称一样。注册到注册中心去就会有集群效果。

如上一节中的会员服务只要服务名称一样,地址端口不一样。注册到注册中心去。启动效果如下图


image.png
image.png

注册中心结果,同一个名称有两个服务器


image.png

为了看负载均衡效果,在控制层代码修改成如下.加一个查看端口号。

package com.joychen.servermenber.controllers;

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

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

@RestController
public class MemberController {

    @Value("${server.port}")
    private String port;

    @RequestMapping("/member")
    public List<String> getMemberAll(){
        List<String> users = new ArrayList<>();
        users.add("小明");
        users.add("小红");
        users.add("小蓝");
        users.add("小绿");
        users.add("小萌");
        users.add("serverPort:"+port);
        return users;
    }

}

二、在微服务中的订单去调用会员服务接口查看负载均衡效果

1.在订单pom.xml文件中加上

   <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-boot-starter-ribbon</artifactId>
        </dependency>

2.在启动Appcation上RestTemplate只要有@LoadBalanced这个注解就会有负载均衡效果


@SpringBootApplication
@EnableEurekaClient
public class EuorderApplication {

    public static void main(String[] args) {
        SpringApplication.run(EuorderApplication.class, args);
    }

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

三、启动订单微服务。看测试效果

请求地址

http://localhost:7880/getAllUsers

第一次请求结果

image.png

第二次请求结果

image.png

第三次请求结果

image.png

相关文章

网友评论

      本文标题:五、微服务实现负载均衡

      本文链接:https://www.haomeiwen.com/subject/vzhgpftx.html