1.集群的特点

(1)高性能

(2)价格有效性

(3)可伸缩性

(4)高可用性

(5)透明性

2.负载均衡概述

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

3.构建集群环境

三台web服务器配置一模一样

3.1web01
vim /etc/nginx/conf.d/proxy.conf

server{
listen 80;
server_name www.shuai.com; location / {

root /www/;
index index.html;
}
}
3.2web02
vim /etc/nginx/conf.d/proxy.conf

server{
listen 80;
server_name www.shuai.com; location / {

root /www/;
index index.html;
}
}
3.3web03
vim /etc/nginx/conf.d/proxy.conf

server{
listen 80;
server_name www.shuai.com; location / {

root /www/;
index index.html;
}
}
3.4测试

4.负载均衡环境搭建

vim /etc/nginx/conf.d/proxy.conf

upstream shuai {
server 10.0.0.7:80;
server 10.0.0.8:80;
server 10.0.0.9:80;
}

server {

listen 80;
server_name www.shuai.com;

location / {

proxy_pass http://shuai;
proxy_set_header HOST $host;


}

}

4.1负载均衡模块详细说明
ngx_http_upstream_module

http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream

4.1.1轮训分配请求(平均)

默认配置

4.1.2weight=number权重分配请求
upstream oldboy {
server 10.0.0.7:80 weight=3;
server 10.0.0.8:80 weight=2;
server 10.0.0.9:80 weight=1;
}

4.1.3backup`实现热备功能(将服务器标记为备份服务器。当主服务器不可用时,将传递请求。)

upstream oldboy {
server 10.0.0.7:80;
server 10.0.0.8:80;
server 10.0.0.9:80 backup;
}

4.1.4max_fails=number定义最大失败次数(用于监控检测)

upstream oldboy {
server 10.0.0.7:80 max_fails=5;
server 10.0.0.8:80 max_fails=5;
server 10.0.0.9:80 max_fails=5;
}

4.1.5fail_timeout=time定义失败之后重发的间隔时间(用于监控检测)

upstream oldboy {
server 10.0.0.7:80 fail_timeout=10s;
server 10.0.0.8:80 fail_timeout=10s;
server 10.0.0.9:80 fail_timeout=10s;
}
4.2反向代理模块详细说明

更过模块参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

ngx_http_proxy_module

4.2.1proxy_set_heard负载均衡到后端web服务器无法显示页面

  location /  {

   proxy_pass http://shuai;
proxy_set_header HOST $host; }

4.2.2在access日志中显示源IP,而不是负载均衡IP

  location /  {

   proxy_pass http://shuai;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_next_upstream error timeout http_404 http_502;
}

4.2.3proxy_next_upstream如果后端web出现错误页面,则跳过访问,将正确的页面显示给客户端。

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream

  location /  {

   proxy_pass http://shuai;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_next_upstream error timeout http_404 http_502;
}

最新文章

  1. 《深入理解Java虚拟机》学习笔记1-内存数据区域
  2. mac下配置Qt for Android+iOS
  3. visual studio快捷键
  4. autoloader
  5. 【背景建模】VIBE
  6. memcached +php环境配置和分析
  7. Photoshop:制作金属质感-不锈钢纹理
  8. 【网络收集】数据库中字段类型对应C#中的数据类型
  9. php 调用 webservice服务
  10. Android开源--MenuDrawer
  11. 为Android添加JNI支持
  12. makefile笔记10 - makefile 函数库文件
  13. 不创建实体对象,利用newstonjson得到json格式字符串,键对应的值
  14. oldboy s21day05
  15. Python函数——装饰器
  16. Spring-data-redis redis
  17. 【BZOJ-4556】字符串 后缀数组+二分+主席树 / 后缀自动机+线段树合并+二分
  18. 【机器学习】粗糙集属性约简—Attribute Reduction
  19. Android Log缓冲区大小设置
  20. junit中test注解测试使用案列解析一

热门文章

  1. jmeter 通过CSV Data Set Config控件参数化
  2. 027. Python面向对象的__init__方法
  3. 6.3-4 zip、unzip
  4. Day30 BigInteger和BigDecimal
  5. 在Docker中安装MongoDB
  6. jupyter notebook 默认文件路径修改以及启动
  7. (最新)VS2015安装以及卸载过程——踩坑实录
  8. Sqlserver语句获取本周、上一周、本月数据
  9. Mobileye高级驾驶辅助系统(ADAS)
  10. Python 扩展 Op