网站首页 > 精选教程 正文
在互联网项目中,往往面临着高用户量、高并发的问题,造成服务器的压力非常大,特别是电商项目,以淘宝天猫为例,近年双十一的成交量屡创新高,可想而知淘宝天猫的服务器面临的并发量有多大,单一服务器肯定承受不住。这些互联网项目的服务器一般都是采用集群部署的方式,实现负载均衡。
开始搭建之前,我们先来了解其中涉及到比较重要的一些概念。
一、反向代理
1.1什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
简单来说就是正向代理是针对你的客户端,如下图:
反向代理是针对服务器,如下图:
1.2反向代理的配置
这里使用nginx作为反向代理服务器。
(1)在nginx主机修改nginx配置文件
upstream tomcat-portal {
server xxx(你的tomcat安装的服务器的ip):8080;
}
server {
listen 80;
server_name xxxx(你项目访问的域名);
location / {
proxy_pass http://tomcat-portal;
index index.html;
}
二、负载均衡
2.1什么是负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
使用nginx+tomcat实现的负载均衡,Nginx作为负载均衡器,web发起额所有请求都到Nginx,Nginx再将请求转发到Tomcat服务器,示意图如下:
2.2负载均衡的配置
在3台服务器上分别安装Tomcat,在Nginx的配置文件中分别指向这3台服务器的ip+Tomcat端口。
修改 Nginx配置文件:
upstream tomcat-portal {
server Tomcat1的ip:8080;
server Tomcat2的ip:8080;
server Tomcat3的ip:8080;
}
server {
listen 80;
server_name xxxx(你项目访问的域名);
location / {
proxy_pass http://tomcat-portal;
index index.html;
}
}
通过以上配置,访问项目时,3台服务器将会共同分担系统访问的压力。
三、高可用性
上面已经 说到Nginx作为负载均衡器,所有请求都先到Nginx,假如Nginx服务器宕机,那么后面的web服务器将无法提供服务。为了防止出现这种情况,需要建立一个备份机,主机和备份机都运行高可用(High Availability)监控程序,当主机宕机,备份机提供服务,主机好了之后,备份机释放服务ip,主机再次提供服务。
keepalived 就是一款集群管理中保证集群高可用的一个软件,用来防止单点故障。Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔除,当 web 服务器工作正常后 Keepalived 自动将 web 服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的 web 服务器。
在Nginx的主机和备份机上都安装keepalived软件。
猜你喜欢
- 2024-10-09 15分钟学会nginx+tomcat+keepalived高可用负载均衡
- 2024-10-09 Nginx+Tomcat6+Membercached 实现负载均衡
- 2024-10-09 nginx 反向代理tomcat Nginx 反向代理 ip
- 2024-10-09 分享小白Nginx反向代理实现Tomcat分布式集群
- 2024-10-09 Nginx+Tomcat 动静分离实现负载均衡
- 2024-10-09 Nginx负载均衡与Redis实现Tomcat的session共享基本配置
- 2024-10-09 使用Redis存储Nginx+Tomcat负载均衡集群的Session
- 2024-10-09 Nginx+Tomcat关于Session的管理 nginx连接tomcat
- 2024-10-09 部署Tomcat及Nginx负载均衡 nginx和tomcat的部署
- 2024-10-09 Docker中配置简单的Nginx+Tomcat的web负载均衡
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)