DNS负载均衡
实现:给域名添加多天A记录(需域名服务商支持)
优势:简单快捷,性能极高,没有资源耗费
缺点:权重不可设定、没有故障切换、服务变动后浏览器在内的dns缓存生效问题nginx
七层负载均衡
实现:工做在应用层,包括 nginx
、HAProxy
等http
反向代理
优势:故障切换、后端集群高可用
缺点:代理自身的单点问题后端
四层负载均衡(IP负载均衡)
实现:工做在网络层/传输层,基于IP/内容请求分发,包括 lvs
等
优势:故障切换、高性能、高可用,比七层负载均衡性能更高
缺点:搭建复杂浏览器
HTTP重定向负载均衡
实现:302跳转等,根据请求来源调度到对应服务器,可实现为城市分站的负载均衡策略
优势:实现简单
缺点:url变更、体验较差缓存
硬件负载均衡
实现:四/七层负载均衡硬件设备
优势:高性能、高可靠
缺点:价格昂贵安全
http节区下添加以下配置服务器
proxy_connect_timeout 30; #代理链接服务的超时 proxy_read_timeout 60; #代理等待服务的超时 proxy_send_timeout 30; #代理接收数据传输的超时 proxy_buffer_size 64k; #代理缓冲区大小 proxy_buffers 4 64k; #代理的缓冲区个数及最大值 proxy_busy_buffers_size 128k; #代理在高压时段可申请的最大缓冲区大小 proxy_temp_file_write_size 256k; #代理的临时写文件大小 # 服务集群配置 # 某台服务器响应失败则自动故障切换到另外一台 upstream service_cluster1 #命名集群 { # 权重根据具体服务器的资源状况设定 server 192.168.0.100:80 weight=1 max_fails=2 fail_timeout=30s; server 192.168.0.101:80 weight=2 max_fails=2 fail_timeout=30s; } # 虚拟主机配置 server { server_name www.site.com; # 将全部请求反向代理到service_cluster1服务集群 location / { proxy_pass http://service_cluster1; proxy_buffering off; # 禁用缓存,提升并发性能 # 客户端IP透明通过代理服务器传递给后端Web服务器 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 客户端请求主机名透明通过代理服务器传递给后端Web服务器 proxy_set_header Host $host; } }