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配置步骤。请根据你的具体需求进行相应的配置和调整。

相关推荐
_.Switch3 分钟前
Python 自动化运维持续优化与性能调优
运维·开发语言·python·缓存·自动化·运维开发
南猿北者8 分钟前
Docker Volume
运维·docker·容器
Ztiddler5 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
IPdodo全球网络5 小时前
如何利用静态住宅IP优化Facebook商城的网络稳定性与运营效率
运维·服务器
运维&陈同学6 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
40kuai6 小时前
Ingress nginx 公开TCP服务
nginx·ingress
m0_519523106 小时前
Linux——简单认识vim、gcc以及make/Makefile
linux·运维·vim
mit6.8247 小时前
[Docker#4] 镜像仓库 | 部分常用命令
linux·运维·docker·容器·架构
zyp2468107 小时前
Linux之DNS服务器
linux·运维·服务器