Tomcat集群能带来什么
- 提高服务的性能,并发能力,以及高可用性
- 提供项目架构的横向扩展能力
Tomcat集群实现原理
- 通过Nginx负载均衡对多个Tomcat进行请求转发
Tomcat集群带来了什么新问题
- Session登录信息存储和读取的问题
- 服务器定时任务并发的问题
Tomcat单机部署多应用
修改/etc/profile,增加Tomcat环境变量
Nginx负载均衡配置、策略,场景及特点
轮询(默认)
- 优点:实现简单
- 缺点:不考虑每台服务器的性能
upstream www.imooc.com{
server www.imooc.com:7080;
server www.imooc.com:8080;
server www.imooc.com:9080;
}
权重
- 优点:考虑了每台服务器的处理能力不同
upstream www.imooc.com{
server www.imooc.com:7080 weight=10;
server www.imooc.com:8080 weight=15;
server www.imooc.com:9080 weight=20;
}
ip hash
- 优点:能实现同一个用户访问同一台服务器
- 缺点:根据ip hash不一定平均
upstream www.imooc.com{
ip_hash;
server www.imooc.com:7080;
server www.imooc.com:8080;
server www.imooc.com:9080;
}
url hash(第三方),需要装插件
- 优点:能实现同一个服务访问同一个服务器
- 缺点:根据url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上
upstream www.imooc.com{
server www.imooc.com:7080;
server www.imooc.com:8080;
server www.imooc.com:9080;
hash $request_uri;
}
fair(第三方)
- 特点:按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream www.imooc.com{
server www.imooc.com:7080;
server www.imooc.com:8080;
server www.imooc.com:9080;
fair;
}
Nginx+Tomcat搭建集群
负载均衡扩展知识点
upstream www.imooc.com{
ip_hash;
server www.imooc.com:6060 down; down表示当前的server不参与负载
server www.imooc.com:7070 weight=2; weight默认为1,weight越大,负载的权重就越大
server www.imooc.com:8080;
server www.imooc.com:9090 backup; 其他所有的非backup机器down或者忙的时候,请求backup机器
}
搭建集群
Tomcat部分
- 启动多个Tomcat
- 修改系统的host(浏览器所在机器的host)
- 增加127.0.0.1 www.imooc.com
- ping host配置的域名,验证host是否生效
- 访问多个Tomcat的首页进行验证(在这里只验证一个,小伙伴可以根据自己的实际情况验证)
- http://localhost:8080
- http://www.imooc.com:8080
Nginx部分
- 启动nginx
- 编辑在${nginx}/conf/nginx.conf文件
- 在http节点下增加include vhost/*.conf; 将配置文件分开,方便管理
- 在${nginx}/conf下创建vhost文件夹
- 创建www.imooc.com.conf文件进行配置(配置见下图)
- 在${nginx}/sbin下执行 sudo ./nginx -s reload重新加载nginx配置
- 搭建成功