负载均衡介绍|学习笔记

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

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第二阶段负载均衡介绍】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/684/detail/11864


负载均衡介绍

 

内容介绍:

一、负载均衡实例介绍

二、负载均衡的种类

 

一、负载均衡实例介绍

1、实例冲突

nacos 实战,上节我们已经完成了从订单微服务通过

nacos-server 获取到商品微服务的实例,然后去调用的操作。

但是到目前为止,代码是有问题的,问题就发生在List<ServiceInstance>instance=discoveryClient.getInstance(serviceld: ”service-product”);

ServiceInstance instance=instance.get(0);

2、图文分析

现在我们通过 nacos 提供的 discoveryClient 的工具,通过一个服务名,可以获取到指定服务名的所有实例,然后我们直接获取到了实例列表里的第一个进行调用,如果此实例列表里只有一个实例,那么这么做是没有问题的,但如果这个实例列表里有多个实例,那么就会产生问题,执行时就会始终调用第一个实例。我们通过一张图来具体阐述:

image.png

首先,上方的即为 nacos-server ,左下角的是订单微服务,也就是服务消费者,右下角的稍微有些变化,商品微服务由一个变为两个。

例如第一个接口在8081端口上,另外一个商品微服务的代码和他是一样的,也就是说我们对于商品微服务做了一个集群,他在8082端口上,两个商品微服务会同时注册到 nacos-server 上,然后订单微服务通过 nacos-server 去获取商品微服务的时候,列表里的服务内容就不再是只有一个了,他会拿到一个服务列表,里面会有两个实例,一个8081,一个8082,此时你使用第一个,那就意味着第二个毫无作用,此时就产生问题了。

要想使两个商品微服务都能使用到,这就体现了负载均衡的思想。

二、负载均衡的种类

1、简单概括

何为负载均衡

通俗的讲,负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。

例如:一个调用请求,订单微服务会频繁的调用商品微服务,此时就可以看作是一份负载,然后他会均衡地分摊到8081和8082上,第一次调用8081,第二次调用8082,第三次又是8081,第四次又是8082,这就是一种负载均衡的思想。

2、具体分类

根据负载均衡发生位置的不同,一般分为服务端负载均衡和客户端端负载均衡。

服务端负载均衡指的是发生在服务提供者一方,比如常见的 nginx 负载均衡。具体是指一个请求到达服务端,再来决定使用哪个服务。

image.png

而客户端负载均衡指的是发生在服务请求的一方,也就是在发送请求之前已经选好了由哪个实例处理请求。具体是指消费者在请求发出去之前就已经决定好了要调用哪个微服务。

我们在微服务调用关系中一般会选择客户端负载均衡,也就是在服务调用的一方来决定由哪个提供者执行。

例如:第一次我们在 instances.get(0) 决定了使用第一个,但我们也可以使用第二个微服务 instances.get(1) 这就是客户端负载均衡。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
运维 负载均衡 Cloud Native
容器网络 ALB Ingress|学习笔记
快速学习容器网络 ALB Ingress
容器网络 ALB Ingress|学习笔记
|
弹性计算 编解码 运维
第三讲《云上网络VPC&EIP&NAT&共享带宽&SLB》|学习笔记
快速学习第三讲《云上网络VPC&EIP&NAT&共享带宽&SLB》。
第三讲《云上网络VPC&EIP&NAT&共享带宽&SLB》|学习笔记
|
弹性计算 tengine 负载均衡
【视频】第二讲-负载均衡CLB|学习笔记
快速学习【视频】第二讲-负载均衡CLB。
【视频】第二讲-负载均衡CLB|学习笔记
|
消息中间件 负载均衡 监控
RocketMQ 5.0 客户端负载均衡机制|学习笔记
快速学习 RocketMQ 5.0 客户端负载均衡机制
319 0
RocketMQ 5.0 客户端负载均衡机制|学习笔记
|
负载均衡 网络协议 Java
Spring Cloud 学习笔记04----服务消费者(RestTemplate+Ribbon(客户端负载均衡))
上一篇《Spring Cloud 学习笔记02----服务治理》我们讲到了服务的注册与发现,在微服务框架中,我们将服务拆分成一个个独立部署的子服务,这些服务通过http rest 来通讯的,Spring Cloud有两种服务调用方式,一种是 RestTemplate+Ribbon, 另外一种是Feign 。
159 0
Spring Cloud 学习笔记04----服务消费者(RestTemplate+Ribbon(客户端负载均衡))
|
弹性计算 负载均衡 监控
SLB 负载均衡 02-SLB 的基本概念视频| 学习笔记
快速学习 SLB 负载均衡 02-SLB 的基本概念视频。
SLB 负载均衡 02-SLB 的基本概念视频| 学习笔记
|
弹性计算 负载均衡 云计算
SLB 负载均衡01-负载均衡的产生及发展视频| 学习笔记
快速学习 SLB 负载均衡01-负载均衡的产生及发展视频。
SLB 负载均衡01-负载均衡的产生及发展视频| 学习笔记
|
Kubernetes 负载均衡 Cloud Native
微服务用户为什么要选择云原生网关?|学习笔记(二)
快速学习微服务用户为什么要选择云原生网关?
微服务用户为什么要选择云原生网关?|学习笔记(二)
|
Kubernetes 监控 Cloud Native
下一代网关——云原生网关商业化发布 | 学习笔记
快速学习 下一代网关——云原生网关商业化发布
437 0
下一代网关——云原生网关商业化发布 | 学习笔记
|
缓存 负载均衡 监控
微服务调用 Feign 与负载均衡|学习笔记(三)
快速学习微服务调用 Feign 与负载均衡
微服务调用 Feign 与负载均衡|学习笔记(三)