本地负载均衡与 Nginx 区别 | 学习笔记

简介: 快速学习 本地负载均衡与 Nginx 区别

开发者学堂课程【精通 Spring Cloud Alibaba本地负载均衡与 Nginx 区别学习笔记,与课程紧密联系,让用户快速学习知识。

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


本地负载均衡与 Nginx 区别


内容简介:

一、本地负载均衡与 Nginx 区别

二、Nginx 实现负载均衡与本地负载均衡器应用场景

 

整个负载均衡效果都是客户端实现的及本地实现


一、本地负载均衡与 Nginx 区别

Nginx 是客户端所有的请求统一都交给 Nginx 处理,然后再由 Nginx 实现负载均衡转发,属于服务器端负载均衡器。

本地负载均衡器是属于客户端负载均衡,消费者从注册中心上获取接口调用地址列表,本地实现负载均衡算法(轮训、随机、hash 一致性、权重)等,整个负载均衡效果都是客户端实现的及本地实现,

原理:

获取接口地址列表,采用算法获取选择一个接口地址地址实现本地rp远程调用。

例如:

@RequestMapping(" /orderToMember")

public Object orderToMember( ){

//1.根据服务名称从注册中心获取集群列表地址

List<ServiceInstance> instances =

discoveryClient.getInstances(serviceld: "meitemayikt-member" );

//2.根据列表任意选择一个实现本地 rpc 调用 rest 采用我们负载均衡的算法

ServiceInstancesrviceInstance= loadBalancer.getSingleAddres(instances);

URI rpcMemberUrl = srviceInstance.getUri();

string result = restTemplate.getForobject(url: rpcMemberUrl + "/getUser",String.class);

return“订单调用会员返回结果:" + result;

第一步先去注册中心拿到集群列表的地址,在通过上面的集合经过算法选择一个 rpc,其中所有的算法都不是通过服务器实现的,而是本地实现。

本地负载均衡器:

可以自己写、ribbon Spr.ingCl.oud 第一代中、loadbalancer(属于 SpringCLoud 自己研发)。

问题:如何选择 ribbon 还是 loadbalancer

SpringCLoud Rest 或者 Openfeign 都是默认支持 ribbon,使用这两个客户端不需要 ribbon 负载均衡价包,它已经自动帮实现好。

问题:本地负载均衡器与 Nginx 实现负载均衡器有那些区别呢?

Nginx 负载均衡器:

属于服务器负载均衡器,客户端所有的请求都统一交给我们的 Nginx,在由我们的 nginx.转发到我们的真实服务实现负载均衡。

本地负载均衡器:

属于客户端负载均衡。


二、Nginx 实现负载均衡与本地负载均衡器应用场景

Nginx 实现对我们服务器实现负载均衡器一般用于 tomcat/jetty 服务器。

本地负载均衡器属于客户端负载均衡器一般用于微服务 rpa 远程调用比如 dubborest 模版、openfeign 或者 tpe 远程调用框架。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
10月前
|
负载均衡 网络协议 算法
一文读懂什么是Nginx?它能否实现IM的负载均衡?
Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡方案,从某种意义上来讲,Nginx几乎是低成本、高负载Web服务端代名词。 如此深入人心的Nginx,很多人也想当然的认为,在IM或消息推送等场景下是否也能使用Nginx来解决负载均衡问题? 另外,即时通讯网的论坛和QQ群里也经常有人问起,Nginx是否能支持TCP、UDP、WebSocket的负载
288 4
|
10月前
|
负载均衡 算法 安全
硬件负载均衡和软件负载均衡有什么区别?
硬件负载均衡和软件负载均衡有什么区别?
502 127
|
7月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
243 21
|
7月前
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
223 14
|
7月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
309 11
|
9月前
|
负载均衡 算法 应用服务中间件
Nginx长连接负载均衡详细说明以及案例
本文详细介绍了Nginx长连接负载均衡的配置与原理。长连接(Keepalive)允许客户端和服务器保持连接,减少建立和关闭连接的开销。Nginx支持多种负载均衡算法,如轮询、IP哈希等。通过在Nginx配置文件中使用`upstream`模块和`keepalive`指令,可以实现长连接负载均衡,从而提高系统的性能和响应速度。示例配置展示了如何设置后端服务器组、长连接数及HTTP/1.1协议,确保连接复用,降低延迟。
563 5
|
9月前
|
负载均衡 应用服务中间件 nginx
如何使用nginx实现负载均衡?
如何使用nginx实现负载均衡?
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
802 9
|
负载均衡 算法 应用服务中间件
Nginx的负载均衡
Nginx 是一款高性能的Web服务器与反向代理服务器,支持负载均衡功能,能有效提升系统性能与可靠性。其负载均衡策略包括基于轮询和权重的分配方法,以及IP哈希、最小连接数等算法,可根据实际需求灵活选择。
381 5
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
738 3