nginx集群负载均衡

实现nginx➕tomcat集群的负载均衡四种策略 使用linux系统 需要实现后结果的视频 比较基础不用过于深入

这四种吗?

  1. 轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除。
  2. ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。
  3. fair 按后端服务器的响应时间来分配请求,响应时间短的优先分配。
  4. url_hash 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器

第十节课:实战8:Nginx负载均衡_哔哩哔哩_bilibili 什么是负载均衡?Load Balance (LB),是指将工作任务进行分流,减轻单点压力,实现工作任务均摊到多个节点的操作。(集群化架构)。负载均衡常见的实现方式:硬件:F5 A10 百万级并发200 万 / 秒到 800 万 / 秒并发软件:Nginx 5万并发/秒  7层,支持 HTTP、E-mail 协议LVS  80 万 / 秒 4层,协议无关,几乎所有应用都可以做,例如,聊天、数据库等云, 视频播放量 602、弹幕量 2、点赞数 6、投硬币枚数 2、收藏人数 21、转发人数 0, 视频作者 灯塔微光引路前行, 作者简介 专注网络10余年。连续7年在线指导高职技能大赛《网络系统管理》赛项参赛选手多次进入国赛。 信息系统项目管理师/高级实验师,相关视频:阿里云SLB实战--应对亿级流量的高可用负载均衡,10-nginx负载均衡具体实现,网络流量太大怎么办!负载均衡的使用及部署,6.1、Nginx服务建立以及tomcat负载均衡,Linux下nginx的安装使用+负载均衡+集群搭建,08_智能DNS及虚拟服务排错指导SANGFOR AD/高级培训/深信服应用交付负载均衡设备,Nginx负载均衡实战,F5 BIG IP课程 负载均衡器,Nginx 入门指南,了解并部署四层/七层负载均衡、HTTPS、HTTP/2、TLS 1.3 并使用 NGINX 扩展 WebSocket,Nginx实现负载均衡 https://www.bilibili.com/video/av722880952/

需要实现后结果的视频??
意思是要把整个过程录屏给你??还是?
其实这些基本操作,博客里都有啊,
关键是运用nginx的 负载均衡算法 设置而已,各大文章都有说明和演示。。。

nginx的负载均衡策略有4种:

  1. 轮询(默认)
  2. 权重
  3. ip_hash
  4. least_conn 最小连接
    准备两个节点服务:192.168.124.3和192.168.88.3,将项目实例部署到两台服务器上,如果只有一台服务器,则将项目改不同的端口号进行模拟
  • 轮询(默认):nginx.conf
  • 在轮询中,如果服务器down掉了,会自动剔除该服务器。
    注意:
  • 在轮询中,如果服务器down掉了,会自动剔除该服务器。
  • 缺省配置就是轮询策略。
  • 此策略适合服务器配置相当,无状态且短平快的服务使用。
http {
# upstream name{} 该指令用于设置一组可以在proxy_pass和fastcgi_pass指令中使用的代理服务器,默认负载均衡方式为轮询。
    upstream upstreamName{
        server 192.168.124.3:8080; 
        server 192.168.88.3:8080; 
        server 192.168.124.3:8085;
    }

    server {
        root         /home/frontend/dist; # 前端项目路径
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  aitest.xxx.com;
        #root         /usr/share/nginx/html;
        

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://upstreamName; 
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        
         location /api {
            proxy_pass upstreamName;
            proxy_connect_timeout 60s;
            proxy_send_timeout 180s;
            proxy_read_timeout 180s;
            proxy_buffer_size 1M; 
            proxy_buffers 8 1M; 
            proxy_busy_buffers_size 1M; 
        }
    }
}
  • 权重
    在轮询策略的基础上制定轮询的几率
    注意:
  • 权重越高分配到需要处理的请求越多。
  • 此策略可以与least_conn和ip_hash结合使用。
  • 此策略比较适合服务器的硬件配置差别比较大的情况。
http {
# upstream name{} 该指令用于设置一组可以在proxy_pass和fastcgi_pass指令中使用的代理服务器,默认负载均衡方式为轮询。
    upstream upstreamName{
        server 192.168.124.3:8080 weight=2; #设置服务器的权重,权重值越高,被分配的客户端请求数越多。如果没有设置权重,则为默认权重1。
        server 192.168.88.3:8080;
        server 192.168.124.3:8085; 
    }
## 下面配置和轮询中配置相同
}
  • ip_hash
  • 当对后端多台动态应用服务器做负载均衡时,ip_hash指令能够将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上。
  • 负载均衡器按照客户端IP地址的分配方式,可以确保相同客户端的请求一直发送到相同的服务器。这样每个访客都固定访问一个后端服务器。
upstream upstreamName{
        ip_hash;
        server 192.168.124.3:8080 weight=2;
        server 192.168.88.3:8080 down; 
        server 192.168.124.3:8085;
   }

  • least_conn 最小连接
  • 把请求转发给连接数较少的后端服务器。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果;
 upstream upstreamName{
        least_conn;
        server 192.168.124.3:8080 weight=2;
        server 192.168.88.3:8080;
        server 192.168.124.3:8085;
    }

如果需要看视频的话,建议看下B站的nginx关于负载均衡的视频。给你推荐一个不错的