Ribbon讲解

一:Ribbon是什么?

Ribbon其实就是一个软负载均衡的客户端组件。

二:负载均衡(LB)是什么?

用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)

三:负载均衡分类?

  1. 集中式 LB :在服务的消费方和提供方之间使用独立的LB设施,如Nginx
  2. 进程内 LB:消费方从服务注册中心或知有哪些地址可用,然后自己再从这些地址中选择出一个何时的服务器。例如Ribbon

四:Ribbon是如何通过一个@LoadBalanced注解就实现负载均衡的

  1. 在创建RestTemplate的bean时添加@LoadBalanced注解
  2. LoadBalancerAutoConfiguration自动配置筛选出添加@LoadBalanced注解的RestTemplate
  3. 为RestTemplate设置LoadBalancerInterceptor,目的是使用LoadBalancerClient来发起请求
  4. 请求过程中,根据负载均衡策略,调用LoadBalancerClient.choose()方法获取最终ServiceInstance
  5. 根据ServiceInstance获取真实host、port,发起最后请求

五:Ribbon如何选择调用哪个实例?

六:Ribbon有哪些负载均衡策略?

七:如何修改Ribbon的负载均衡策略?

八:如何自定义负载均衡策略?

相关推荐
DKPT9 分钟前
JVM直接内存和堆内存比例如何设置?
java·jvm·笔记·学习·spring
weixin_4365250727 分钟前
若依 - idea集成docker一键部署springboot项目(docker-compose)
java·1024程序员节
鼠鼠我捏,要死了捏28 分钟前
深入解析Java GC调优:从原理到实战
java·性能优化·gc调优
Live&&learn29 分钟前
Tomcat 10和Tomcat 9引入servlet的不同
java·servlet·tomcat
siriuuus29 分钟前
JVM 垃圾收集器相关知识总结
java·jvm
weixin_4365250735 分钟前
Windows - Maven 安装到 IDEA 配置全流程
java·maven·intellij-idea
启山智软36 分钟前
APS系统适合哪些行业或企业规模
java·商城开发
在等晚安么1 小时前
记录自己写项目的第三天,springbot+redis+rabbitma高并发项目
java·spring boot·redis·1024程序员节
OkGogooXSailboat1 小时前
flume的log4j日志无输出排查
java·flume·1024程序员节
想睡好2 小时前
express中间件(java拦截器)
java·中间件·express