一、概念
在网站创立初期,我们一般都使用单台机器对外提供集中式服务。随着业务量的增大,我们一台服务器不够用,此时就会把多台机器组成一个集群对外提供服务,但是,我们网站对外提供的访问入口通常只有一个,比如 www.web.com。那么当用户在浏览器输入www.web.com进行访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡要做的事情。
负载均衡通常是指将请求"均匀"分摊到集群中多个服务器节点上执行,这里的均匀是指在一个比较大的统计范围内是基本均匀的,并不是完全均匀。
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
二、负载均衡实现方式
1. 硬件负载均衡
比如F5、深信服、Array等
优点是有厂商专业的技术服务团队提供支持,性能稳定
缺点是费用昂贵,对于规模较小的网络应用成本太高
2. 软件负载均衡
比如 Nginx、LVS、HAProxy 等
优点是免费开源,成本低廉
三、准备工作
(1)将刚才存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082。
注意:要修改tomcat/conf/server.xml中Connector、Server所有有port的地方。
(2)分别启动这三个tomcat服务。
(3)为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分(webapps项目里index.html的title加上各自的端口号来区分)
四、配置负载均衡
修改nginx配置文件:
upstream tomcat-travel{ server 192.168.240.128:8080; server 192.128.240.128:8081; server 192.168.240.128:8082; } server { listen 80; # 监听的端口 server_name www.hmtravel.com; # 域名或ip location / { # 访问路径配置 # root index;# 根目录 proxy_pass http://tomcat-travel; index index.html index.htm; # 默认首页 } }
重启nginx,浏览器访问http://www.hmtravel.com/ 刷新观察每个网页的标题,看是否不同。
经过测试,三台服务器出现的概率各为33.3333%,交替显示。
如果其中一台服务器性能比较好,想让其承担更多的压力,可以设置权重。
upstream tomcat-travel{ server 192.168.240.128:8080 weight=2; server 192.128.240.128:8081; server 192.168.240.128:8082; }
其中weight=2表示权重,用于后端服务器性能不均的情况,访问比率约等于权重只比,权重越大访问机会越多
upstream是配置nginx与后端服务器负载均衡非常重要的一个模块,并且它还能对后端的服务器的健康状态进行检查,若后端服务器中的一台发生故障,则前端的请求不会转发发到该故障的机器
这样访问tomcat8080:8081:8082的比例是2:1:1,重启nginx,访问url每刷新4次,有两次是8080
标签:负载,均衡,tomcat,server,Nginx,Nginx16,Linux,240.128,服务器 From: https://www.cnblogs.com/ajing2018/p/17307359.html