开发自救手册 开发自救手册
首页
  • Java指南

    • 手册的初衷以及适用人群
    • 介绍
    • JAVA涉及技术总览
  • 技术场景

    • 线上代码覆盖率监控
  • cpp自救指南
  • go指南
  • 真正的面经系列
  • 经历分享
  • 相关文章

    • 25届实习内推
  • 微服务
友情链接
  • 团队介绍
  • 如何加入
GitHub (opens new window)
首页
  • Java指南

    • 手册的初衷以及适用人群
    • 介绍
    • JAVA涉及技术总览
  • 技术场景

    • 线上代码覆盖率监控
  • cpp自救指南
  • go指南
  • 真正的面经系列
  • 经历分享
  • 相关文章

    • 25届实习内推
  • 微服务
友情链接
  • 团队介绍
  • 如何加入
GitHub (opens new window)
  • 微服务

    • 微服务介绍
    • EureKa注册中心
    • Ribbon负载均衡
      • 饥饿加载
    • Nacos注册中心、配置中心
    • OpenFeign远程调用
    • Gateway统一网关
    • Docker
    • DockerCompose
    • RabbitMQ
    • Sentinel微服务保护
  • 八股文
  • 微服务
ethandu
2024-05-02
目录

Ribbon负载均衡

# Ribbon负载均衡

负载均衡流程

image-20220201223158426

上面在RestTemplate上面加的@LoadBalanced注解就是标记了之后发起的请求要被Ribbon拦截和处理了。

我们在代码中打断点调试

image-20220201223647758

这个就是整个负载均衡的流程

image-20220201224058180

负载均衡策略

Ribbon的负载均衡规则是一个叫做IRule的接口来定义的,每一个子接口都是一种规则:

image-20220201224324290

image-20220201224405457

通过定义IRule实现可以修改负载均衡规则,有两种方式:

1、代码方式:在order-service中的OrderApplication类中,定义一个新的IRule

@Bean
public IRule randomRule(){
	return new RandomRule();
}

2、配置文件方式:在order-service的application.yml文件中添加新的配置也可以修改规则:

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则

# 饥饿加载

发起两次请求,第一次时间很长500多ms,而第二次就只需要27ms就完成了

image-20220201225221729

image-20220201225229138

开启后只需要300多就完成第一次加载了还是可以的

image-20220201225615598

总结:

image-20220201225710017

上次更新: 2024/05/02, 13:47:32
EureKa注册中心
Nacos注册中心、配置中心

← EureKa注册中心 Nacos注册中心、配置中心→

Theme by Vdoing | Copyright © 2019-2024 Backend Development | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式