keepalived+lvs+nginx高并发集群

keepalived+lvs+nginx高并发集群

简介:

keepalived+lvs+nginx高并发集群,是通过LVS将请求流量均匀分发给nginx集群,而当单机nginx出现状态异常或宕机时,keepalived会主动切换并将不健康nginx下线,维持集群稳定高可用

1.LVS

lvs是一款用于四层负载均衡的工具。常见的如HTTP协议是建立在七层协议上的,而lvs作用于四层协议上,即传输层,网络层,数据链路层和物理层。这里的传输层主要协议有TCP和UDP协议,也就是说lvs主要支持的方式是TCP和UDP。所以lvs处理请求的能力比常见的服务器要高非常多,lvs的负载均衡能力是nginx的十倍以上。

nginx本身是不支持横向扩容的,对于高并发场景下,nginx就会成为性能瓶颈。而lvs是一款负载均衡工具,通过部署多台nginx服务器,利用lvs的负载均衡能力,将请求均衡的分发到各个nginx服务器上,再由nginx服务器分发到各个应用服务器,达到负载均衡能力

2.keepalived

keepalived是一款服务器状态检测和故障切换的工具。在其配置文件中,可以配置主备服务器和该服务器的状态检测请求。也就是说keepalived可以根据配置的请求,在提供服务期间不断向指定服务器发送请求,如果该请求返回的状态码是200,则表示该服务器状态是正常的,如果不正常,那么keepalived就会将该服务器给下线掉,然后将备用服务器设置为上线状态。

操作流程

  1. 安装LVS:

    • 在每个LVS服务器上运行以下命令以安装LVS软件包:

      复制代码
      sudo apt-get install ipvsadm
  2. 配置LVS:

    • 编辑/etc/sysctl.conf文件,并确保以下行被取消注释:

      复制代码
      net.ipv4.ip_forward=1
    • 保存并退出文件后,运行以下命令使更改生效:

      复制代码
      sudo sysctl -p
  3. 配置Keepalived:

    • 在每个服务器上安装Keepalived软件包:

      复制代码
      sudo apt-get install keepalived
    • 编辑/etc/keepalived/keepalived.conf文件,并根据你的需求进行配置。以下是一个示例配置文件的部分内容:

      复制代码
      vrrp_instance VI_1 {
          state MASTER
          interface eth0
          virtual_router_id 51
          priority 100
          advert_int 1
          authentication {
              auth_type PASS
              auth_pass 1111
          }
          virtual_ipaddress {
              192.168.0.100
          }
      }

      在上述配置中,你需要根据你的网络接口、虚拟路由器ID、优先级、认证密码和虚拟IP地址进行相应的更改。

  4. 配置Nginx:

    • 在每个LVS服务器上安装Nginx软件包:

      复制代码
      sudo apt-get install nginx
    • 编辑Nginx配置文件/etc/nginx/nginx.conf,并根据你的需求进行配置。以下是一个示例配置文件的部分内容:

      复制代码
      http {
          upstream backend {
              server 192.168.0.101:80;
              server 192.168.0.102:80;
          }
          server {
              listen 80;
              location / {
                  proxy_pass http://backend;
              }
          }
      }

      在上述配置中,你需要根据你的实际后端服务器的IP地址和端口进行相应的更改。

  5. 启动服务:

    • 在每个LVS服务器上分别启动LVS、Keepalived和Nginx服务:

      复制代码
      sudo service ipvsadm start
      sudo service keepalived start
      sudo service nginx start

这些是更详细的LVS、Keepalived和Nginx配置步骤。请根据你的具体需求进行相应的配置和调整。

相关推荐
fiveym7 小时前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
虎头金猫7 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
反转180度8 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
雨辰AI8 小时前
RAG 知识库搭建:基于人大金仓构建信创运维问答机器人|全栈国产化落地完整版
运维·ai·机器人·ai编程
-今昭-9 小时前
Ansible
linux·运维·ansible
星野川崎2069 小时前
电商多店运维:云机长期挂机频繁掉线、账号无故风控原因剖析与解决方案
大数据·运维·云计算·电商
g10565591399 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php
IT邦德11 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu
蓝速科技11 小时前
蓝速科技会议电子门牌规模化部署与运维成本实测
运维·科技
许彰午11 小时前
# allbytaskid——一个接口扛六个DataStore
运维·服务器·php