LoadBalanced实现的原理|学习笔记

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 快速学习LoadBalanced实现的原理

开发者学堂课程【精通Spring Cloud Alibaba:LoadBalanced实现的原理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/634/detail/10077


LoadBalanced 实现的原理


public class RibbonLoadBalancerClient implements LoadBalancerClient中RibbonLoadBalancerClient 相当实现了LoadBalancerClient,RibbonLoadBalancerClient 是子类。

image.png

源码:

@override

public ServiceInstance choose(String serviceId){

Server server = getServer( serviceId);

if (server == null) {

return null;

}

return new RibbonServer(serviceId,server, isSecure(server,serviceId),

serverIntrospector( serviceId).getMetadata(server));

}

创建一个服务,调用 getLoadBalancer(serviceId) 方法,再调用 LoadBalancer getLoadBalancer(String serviceId) ,getLoadBalancer(serviceId),访问到接口。

Ribbon 支持的算法有:

AvailabilityFilteringRule

BestAvailableRule  

ClientConfigEnabledRoundRobinRule

PredicateBasedRule

RandomRule  

RetryRule

RoundRobinRule

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
8月前
|
Java Spring
spring 源码分析——第二篇(ioc 注解方式)
spring 源码分析——第二篇(ioc 注解方式)
65 0
|
3月前
|
Java 微服务 Spring
手把手教你实现@RefreshScope注解
【10月更文挑战第16天】 在Spring Cloud中,@RefreshScope注解被广泛用于动态刷新配置。当我们修改了配置文件中的值,并且希望这些更改在不重启应用的情况下立即生效时,这个注解就显得尤为重要。本文将带你一步步实现一个简单的@RefreshScope功能。
138 5
|
7月前
|
缓存 Java 数据库连接
探究Spring Boot中@PostConstruct注解的使用场景
【6月更文挑战第2天】在Spring Boot开发过程中,了解和合理利用@PostConstruct注解是非常重要的。这个简单却强大的注解能够帮助开发者在依赖注入完成之后执行初始化逻辑,从而确保组件在使用前已经完全准备就绪。
139 4
|
8月前
|
XML Java API
Spring揭秘:ApplicationContextAware应用场景及实现原理!
ApplicationContextAware接口能够轻松感知并在Spring中获取应用上下文,进而访问容器中的其他Bean和资源,这增强了组件间的解耦,了代码的灵活性和可扩展性,是Spring框架中实现高级功能的关键接口之一。
204 5
Spring揭秘:ApplicationContextAware应用场景及实现原理!
|
XML Java 数据库连接
透彻的掌握 Spring 中@transactional 的使用
事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编码式和声明式的两种方式。
159 0
透彻的掌握 Spring 中@transactional 的使用
|
Java 容器 Spring
Spring源码从入门到精通---@Autowired&@Qualtify(十一)
Spring源码从入门到精通---@Autowired&@Qualtify(十一)
Spring源码从入门到精通---@Autowired&@Qualtify(十一)
|
缓存 负载均衡 算法
LoadBalanced结合Rest|学习笔记
快速学习LoadBalanced结合Rest
|
Java Spring
Spring原理学习系列之六:IOC原理之BeanDefinition注册
本文主要介绍了BeanDefinition以及BeanDefinition的注册,BeanDefinition是Spring处理Bean的统一的数据结构,BeanDefinitionRegistry的实现类对BeanDefinition完成了注册操作,注册最终结果保存在beanDefinitionMap这个ConcurrentHashMap中。今天的内容就到这里了,我们下次再会了哦。
Spring原理学习系列之六:IOC原理之BeanDefinition注册
|
Java Spring
SpringAop学习笔记(三)——Aop源码分析
SpringAop学习笔记(三)——Aop源码分析
137 0
SpringAop学习笔记(三)——Aop源码分析
|
存储 Java uml
Spring 源码学习 05:BeanDefinition 概念及其实现
BeanDefinition:顾名思义,就是 Bean 的定义,是用来描述一个 Bean 都有什么信息。前面说在初始化 DefaultListableBeanFactory 时,会初始化一个 Map<String, BeanDefinition>,这个 Map 的功能暂且不说,(PS:查资料说的是存储 bean),所以今天就结合官方文档以及源码,一起了解一下 BeanDefinition!
111 0