SpringCloud项目实例3--通信服务负载均衡

只是在pom.xml文件中添加了spring-cloud-starter-loadbalancer依赖并且在RestTemplate类中添加了一个@LoadBalance的注解。这就是另外一种负载均衡的实现方案

Spring Cloud LoadBalancer 介绍

这种方案有什么优点呢?

  1. 减少整个系统的复杂度,不需要额外部署负载均衡软件
  2. 可以减少不必要的网络开销,因为请求不需要额外经过Nginx等负载均衡软件的一层转发。可用的目标实例信息都存储在本实例的serviceInfoMap变量中,选择其中一个直接发起请求即可。
    在这里插入图片描述

负载均衡器的功能演示

spring-cloud-alibaba-load-balance-demo,root节点的pom.xml文件内容也修改掉
复制nacos-provider-demo,分别命名为nacos-provider-demo2和nacos-provider-demo3
root节点中pom.xml的文件内容最终如下所示:

<modelVersion>4.0.0</modelVersion>
<groupId>ltd.newbee.cloud</groupId>
<artifactId>spring-cloud-alibaba-load-balance-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-cloud-alibaba-load-balance-demo</name>
<packaging>pom</packaging>
<description>Spring Cloud Alibaba Load Balance Demo</description>

<modules>
  <module>nacos-provider-demo</module>
  <module>nacos-provider-demo2</module>
  <module>nacos-provider-demo3</module>
  <module>nacos-consumer-demo</module>
</modules>

在这里插入图片描述
为了与其它章节做一个区分,把各个Module中application.properties配置文件中的启动端口号也进行了一些简单的修改。nacos-consumer-demo中的REST测试类也做了修改,代码如下:

package ltd.newbee.cloud.api;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;

@RestController
public class LoadBalancerTestController {

    @Resource
    private RestTemplate restTemplate;

    private final String SERVICE_URL = "http://newbee-cloud-goods-service";

    // 测试loadbalancer负载均衡
    @GetMapping("/loadBalancerTest")
    public String loadBalancerTest() {
        return restTemplate.getForObject(SERVICE_URL + "/goodsServiceTest", String.class);
    }
}

接下来,需要启动Nacos Server,然后依次启动这4个项目。如果未能成功启动,开发者需要查看控制台中的日志是否报错,并及时确认问题和修复。启动成功后进入Nacos控制台,点击“服务管理”中的服务列表,可以看到列表中已经存在三条newbee-cloud-goods-service的服务信息和一条newbee-cloud-goods-service-consumer的信息在这里插入图片描述
http://localhost:8105/loadBalancerTest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gary jie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值