Nginx-负载均衡

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 章节目录什么是负载均衡使用负载均衡要解决的问题基于LVS的中间件架构GSLBSLB四层负载均衡和七层负载均衡Nginx 负载均衡配置语法负载均衡配置实战什么是负载均衡当用户请求量增加至单台服务器不能及时处理的时候即(单台服务器可接受能够建立连接的并发请求超过上限时),那么就需要横向扩容应用服务器来多当前场景下的高并发请求做处理,负载均衡正是将高并发请求分流至水平节点上不同应用服务器的一种技术。

章节目录

  • 什么是负载均衡
  • 使用负载均衡要解决的问题
  • 基于LVS的中间件架构
    • GSLB
    • SLB
    • 四层负载均衡和七层负载均衡
    • Nginx 负载均衡
    • 配置语法
    • 负载均衡配置实战

什么是负载均衡

当用户请求量增加至单台服务器不能及时处理的时候
即(单台服务器可接受能够建立连接的并发请求超过上限时),
那么就需要横向扩容应用服务器来多当前场景下的高并发请求做处理,
负载均衡正是将高并发请求分流至水平节点上不同应用服务器的一种技术。

负载均衡要解决的问题

提升服务的高可用性,容灾,提升应用服务器对并发请求的处理能力。

基于LVS的中间件架构

GSLB-全局负载均衡
如下图所示:

img_2eb22045ce0971ead6bb399d7bd71ce3.png
GSLB-全局负载均衡

适用场景:跨国机房应用服务部署
如北京张三访问应用服务器,则请求先到达本地的调度节点,
调度节点返回应用服务器某服务的调用地址,
客户端再去请求对应的应用服务器。
指路

SLB
如下图所示:

img_34fc49426a8c56c1580ffa6486649545.png
SLB

调度节点转发客户请求至真正的应用服务器,
应用服务器再将响应数据返回至调度节点,调度节点再将数据返回给客户端。
从图中可以看出调度节点与服务节点在统一区域内,这样可以应对高并发请求的场景。

四层负载均衡和七层负载均衡

四层负载均衡

传输层负载均衡,TCP/IP层负载均衡,进行数据包转发,性能更高

七层负载均衡

应用层负载均衡 http nginx采用的就是七层负载均衡

Nginx 负载均衡

如下图所示:


img_213581865baa807976a0a136b70694b4.png
Nginx 负载均衡
Nginx 负载均衡采用了proxy_pass 方式将请求代理至一组虚拟的服务池,upstream server ,用户请求过来时,通过一定的负载策略,将请求分发至服务池中的某一个应用服务器中。

配置语法

语法:upstream name {}
默认:-
可配置上下文:http
注意配置到 server 层以外,且必须配置在http中

配置实战

1.新建文件夹 分别存储不同应用服务上的同名静态文件

1.cd /opt/app/ 
2.mkdir code1 code2 code3
3.cd code1 
4.touch index.html
5.vi index.html
<html>
   <title>page1</title>
  <body>
    it is page1
  </body>
</html>
同上在code2 code3 中同样建立index.html 并且index.html中的内容 page1 更改为page2、page3 。

2.新建应用服务器配置文件

1.cd /etc/nginx/conf.d
2.touch server1.conf server2.conf server3.conf
3.vi server1.conf 
server {
   listen 8081;
   server_name eshop-cache04;
   location / {
     root /opt/app/code1;
     index index.html index.htm;
   }
}
4.vi server2.conf
server {
   listen 8082;
   server_name eshop-cache04;
   location / {
     root /opt/app/code2;
     index index.html index.htm;
   }
}
5.vi server3.conf
server {
   listen 8083;
   server_name eshop-cache04;
   location / {
     root /opt/app/code3;
     index index.html index.htm;
   }
}

3.配置upstream&代理请求至虚拟服务池upstream 中

1.touch upstream_test.conf
2.vi upstream_test.conf
upstream testUpstream {
   server eshop-cache04:8081;
   server eshop-cache04:8082;
   server eshop-cache04:8083;
}

server {
  listen 80;
  server_name eshop-cache04;

  location / {
     proxy_pass http://testUpstream;//虚拟服务池名字
    # include proxy_params;
  }
}

4.检查配置文件正确性,重新加载配置文件

1.nginx -t -c /etc/nginx/conf.d
2.nginx -s reload

6.浏览器请求,验证结果

img_7fbf30ec9097c41aca5ecbdb3ff599db.png
page1

img_978505f63eba39545e80b1ec57d514fb.png
page2
img_a3982676f1b3c0efd590362cdfa61502.png
page3

可以观察到,同样的请求显示的页面内容是不一致的,所以负载均衡配置成功。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
负载均衡 算法 搜索推荐
Nginx 常用的负载均衡算法
【10月更文挑战第17天】在实际应用中,我们需要根据具体的情况来选择合适的负载均衡算法。同时,还可以结合其他的优化措施,如服务器健康检查、动态调整权重等,来进一步提高负载均衡的效果和系统的稳定性。
140 59
|
10天前
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
49 9
|
1月前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
21天前
|
负载均衡 算法 应用服务中间件
Nginx的负载均衡
Nginx 是一款高性能的Web服务器与反向代理服务器,支持负载均衡功能,能有效提升系统性能与可靠性。其负载均衡策略包括基于轮询和权重的分配方法,以及IP哈希、最小连接数等算法,可根据实际需求灵活选择。
78 5
|
23天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
43 3
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
184 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx 常用的负载均衡算法
【10月更文挑战第22天】不同的负载均衡算法各有特点和适用场景。在实际应用中,需要根据具体的业务需求、服务器性能和网络环境等因素来选择合适的算法。
78 3
|
2月前
|
负载均衡 监控 应用服务中间件
除了 Nginx,还有以下一些常见的负载均衡工具
【10月更文挑战第17天】这些负载均衡工具各有特点和优势,在不同的应用场景中发挥着重要作用。选择合适的负载均衡工具需要综合考虑性能、功能、稳定性、成本等因素。
|
2月前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
267 7
|
2月前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?