环境限制,win10下测试下Nginx的负载均衡,配置比较简单,最简配置如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream cluster_test{
server 127.0.0.1:6080;
server 127.0.0.1:7080;
#ip_hash;
#upstream_hash;
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm index.jsp;
proxy_pass http://cluster_test;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
ip_hash:实现Session Sticky ,针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个
upstream_hash:为了解决ip_hash的一些问题,可以使用upstream_hash这个第三方模块,这个模块多数情况下是用作url_hash
nginx_upstream_jvm_route:Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 功能
Nginx中ip_hash、upstream_hash、nginx_upstream_jvm_route可以达到session共享的目的,ip_hash已验证,有兴趣的可以试一下。本文使用外接缓存达到session共享的目的,jeesite默认提供了Ehcache、redis的解决方案,选用Ehcache的RMI进行cache同步实现session共享。选择该方案,只是为了图省事,建议采用redis。
在实际测试时,每次切换节点shiro自定义的sessionid都会变好,花费了我很多时间,快奔溃了,各种查资料、看shiro源码。也猜测过可能是cache同步的问题,简单做了下测试,发现有进行同步。又去查其它的问题,走了很多弯路,最后发现还是cache的问题。jeesite下默认的ehcache-rmi.xml配置是需要进行调整的,activeSessionCache监听工厂的参数replicateAsynchronously=true、replicateUpdatesViaCopy=false需要调整,调整replicateAsynchronously=false、replicateUpdatesViaCopy=true,或者replicateUpdatesViaCopy=true、asynchronousReplicationIntervalMillis=200。原因在于cache节点间异步复制有时间间隔,切换节点时可能复制未完成。因此,应根据cache实际应用场景采用同步复制或者异步复制,异步复制时应注意间隔时间。
tomcat-redis-session-manager、memcached-session-manager也可达到session共享的目的
使用负载均衡之后的Session处理思路
引用
Apache 与 Nginx 比较
引用
web服务器nginx和apache的对比分析
引用
为什么Nginx的性能要比Apache高很多?
引用
分享到:
相关推荐
我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里简单介绍下这两种技术: a、软件负载均衡解决方案 在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们...
Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明 为了多台后台的web、webservice服务能均衡负载,可以使用nginx进行处理 1)配置文件全配制ok 2)有两个完整的web服务做例子,可以...
基于lua的nginx自定义负载均衡基于lua的nginx自定义负载均衡
nginx+redis负载均衡、session共享,基于redis+tomcat实现session同步的简单demo
nginx经常用到的负载均衡的5种策略,注意细节,部分属性不能一起使用。
nginx配置 +负载均衡+https协议 完整的配置以及nginx 启动 停止 重新加载
Nginx的负载均衡入门 Nginx的负载均衡入门 Nginx的负载均衡入门
Keepalived+Nginx实现高可用Web负载均衡
使用nginx+eureka实现微服务的高负载均衡,提高网站的访问性能
负载均衡 Nginx概述 Nginx安装 Nginx配置 Nginx的负载均衡 Nginx的重定向
nginx 完成服务器之间集群的搭建 能够解决服务器调用负载均衡
Nginx入门到精通搭建高可用集群负载均衡,Nginx+Lvs+keepAlived构建高可用集群环境
Nginx下实现对cxf WebService的负载均衡。
强大的 集群 负载均衡 Nginx 的使用配置说明,resin
Nginx+Tomcat 搭建负载均衡三分钟搞定!!!!!!!!
解压后启动tomcat,nginx服务器,输入localhost:8888即可运行
MySQL查询优化、分库分表、负载均衡、Nginx+Tomcat+Redis (负载均衡+session共享) 自用
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器... Nginx 支持简单的负载均衡和容错; 支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有
nginx配置优化+负载均衡+动静分离详解
lvs+nginx负载均衡,lvs+nginx负载均衡,lvs+nginx负载均衡,lvs+nginx负载均衡