SpringCloud如何进行Ribbon负载均衡?

2025-09-11 07:50:11

1、通过上一课的代码可以发现在Ribb0n里面有一个负载均衡的注解:@LoadBalanced,那么就意味着现在可以实现负载均衡的处理了。

【microcloud-provider-dept-8001】将此项目复制为两份“microcloud-provider-dept-8002”,“microcloud-provider-dept-8003”

SpringCloud如何进行Ribbon负载均衡?

2、【microcloud-provider-dept-*】执行各自的数据库脚本,随后修改自己的数据库连接配置。

server:

  port: 8002

mybatis:

  config-location: classpath:mybatis/mybatis.cfg.xml    # mybatis配置文件所在路径

  type-aliases-package: com.gwolf.vo       # 定义所有操作类的别名所在包

  mapper-locations:                                     # 所有的mapper映射文件

  - classpath:mybatis/mapper/**/*.xml

spring:

  datasource:

    type: com.alibaba.druid.pool.DruidDataSource    # 配置当前要使用的数据源的操作类型

    driver-class-name: com.mysql.cj.jdbc.Driver      # 配置MySQL的驱动程序类

    url: jdbc:mysql://localhost:3306/mldn_2?serverTimezone=UTC   # 数据库连接地址

    username: root                                  # 数据库用户名

    password: root                            # 数据库连接密码

    dbcp2:                                          # 进行数据库连接池的配置

      min-idle: 5                                   # 数据库连接池的最小维持连接数

      initial-size: 5                               # 初始化提供的连接数

      max-total: 5                                  # 最大的连接数

      max-wait-millis: 200                          # 等待连接获取的最大超时时间

  application:

    name: microcloud-provider-dept

eureka:

  client: #客户端进行Eureka注册的配置

    service-url: 

      defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka,http://eureka:eureka@eureka-7002.com:7002/eureka,http://eureka:eureka@eureka-7003.com:7003/eureka

  instance:

    instance-id: dept-8001.com  #在信息列表中显示主机名称

    prefer-ip-address: true   #访问的路径变为IP地址

    lease-renewal-interval-in-seconds: 2  #设置心跳的时间间隔(默认是30秒)

    lease-expiration-duration-in-seconds: 5 #如果现在超过了5秒的间隔(默认90秒)

info:

  app.name: gwolf-microcloud

  company.name: www.gwolf.com

  build.artifactId: $project.artifactId$

  build.version:  $project.version$

SpringCloud如何进行Ribbon负载均衡?

SpringCloud如何进行Ribbon负载均衡?

SpringCloud如何进行Ribbon负载均衡?

3、【microcloud-provider-dept-*】修改各自服务的application.yml配置文件运行端口。

SpringCloud如何进行Ribbon负载均衡?

4、【microcloud-provider-dept-*】特别注意,现在所有的服务名字一定要保持一致,如果不一致则会认为是两个服务,无法进行负载均衡。

spring:

   application:

    name: microcloud-provider-dept

SpringCloud如何进行Ribbon负载均衡?

SpringCloud如何进行Ribbon负载均衡?

5、【microcloud-provider-dept-*】修改项目中的hosts配置文件,在这个配置文件之中追加新的域名:

127.0.0.1 dept-8001.com

127.0.0.1 dept-8002.com

127.0.0.1 dept-8003.com

SpringCloud如何进行Ribbon负载均衡?

6、【microcloud-provider-dept-*】在保证Eureka已经正确启动之后启动所有的部门微服务信息。

SpringCloud如何进行Ribbon负载均衡?

SpringCloud如何进行Ribbon负载均衡?

7、【microcloud-consumer-80】启动消费端,消费端在RestTemplate配置的时候使用了负载均衡的注解。

访问地址:http://client.com/consumer/dept/list

SpringCloud如何进行Ribbon负载均衡?

SpringCloud如何进行Ribbon负载均衡?

8、现在发现每一次获取的数据都是通过不同的微服务获得的,所以现在同一个消费端就可以通过Ribb0n实现了负载均衡配置处理。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢