SpringCloud-Ribbon搭建

前言

Ribbon是做客户端的负载均衡用的(服务消费方),合理的分配消费的请求给EurekaServer端(注册中心)。所以加Ribbon的配置是在服务消费方的工程上做,最终能达到使用微服务名称就可以访问对应服务的效果。

1.服务消费方引入Ribbon相关依赖(Ribbon依赖EureKa来做负载均衡,所以需要EureKa相关)

<!--消费端配置负载均衡需要引入 eureka和 ribbon-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

2.消费端的RestTemplate上加注解@LoadBalanced,以及开启EurekaClient和配置yml中EureKa相关

@Configuration
public class Config {

    @Bean
    @LoadBalanced/*开启Ribbon负载均衡*/
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}
@SpringBootApplication
@EnableEurekaClient
public class ConsumerMain80 {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerMain80.class,args);
    }
}
server:
  port: 80
eureka:
  client:
    service-url:
      #指定需要做负载均衡的注册中心地址
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
    register-with-eureka: false

3.消费方通过微服务名称去调用服务(这里需要注意的的是因为RestTemplate上加了@LoadBalanced注解,所以原来的通过ip:端口的普通调用方式就失效了)

@RequestMapping(method = RequestMethod.GET,value = "dept2")
    /*通过微服务名称(等价ip+端口)访问服务*/
    public Dept findOne2(){
        return restTemplate.getForObject("http://DEPT-PROVIDER-8001/dept",Dept.class);
    }

在这里插入图片描述

4.模拟多个相同服务(所在机器不同)注册到注册中心。这里是实现Ribbon的效果的关键步骤,容易忘记。

新建几个相同的服务提供者
在这里插入图片描述
2.修改yml文件中的instance-id.但是application-name必须保持一致
在这里插入图片描述
在这里插入图片描述
第三个工程也是做以上改动,这里就省略贴图了。

改完之后再访问注册中心管理界面可以看到一个服务有三个提供者
在这里插入图片描述

3.测试,消费者多次调用同一个接口(Ribbon负载均衡默认的是轮询)可以看到多次访问来自不同的后端
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Spring Cloud开发环境,你需要进行以下步骤: 1. 首先,你需要确保你的Java开发环境已经安装和配置好了。你可以去Oracle官网下载和安装Java Development Kit (JDK)。 2. 接下来,你需要使用构建工具(比如Maven或Gradle)来构建你的项目。在你的项目的pom.xml(如果使用Maven)或build.gradle(如果使用Gradle)文件中,你需要添加Spring Cloud的相关依赖。你可以在Maven Central Repository搜索并添加Spring Cloud的依赖,其中包括中提到的`org.springframework.cloud:spring-cloud-config-server`和中提到的`org.springframework.cloud:spring-cloud-config-client`。 3. 在你的项目中,你需要创建一个Spring Cloud Config Server。这是一个服务,用于管理和提供配置信息给其他应用程序。你可以使用Spring Boot创建一个新的Spring Cloud Config Server应用程序,并在其配置文件中指定一些基本设置,比如配置文件存储库的位置和访问控制规则。 4. 接下来,你需要创建一个Spring Cloud Config Client应用程序。这是真正的应用程序,它将从Config Server获取配置信息并使用它们。你可以使用Spring Boot创建一个新的Spring Cloud Config Client应用程序,并在其配置文件中指定Config Server的URL以及应用程序需要的其他配置属性。 5. 最后,你可以根据需要创建其他的Spring Cloud组件,比如服务注册与发现(如Spring Cloud Netflix Eureka),负载均衡(如Spring Cloud Netflix Ribbon)等等。根据你的具体需求,你可以在你的项目中添加这些组件。 综上所述,搭建Spring Cloud开发环境的步骤包括安装Java开发环境、配置构建工具、添加Spring Cloud依赖、创建Config Server和Config Client应用程序,以及根据需要添加其他的Spring Cloud组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值