您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

Nginx + Tomcat + Redis 架构的负载均衡及会话保持

时间:2019-10-30 16:43:48  来源:  作者:

1、系统架构

Nginx + Tomcat + Redis 架构的负载均衡及会话保持

 

2、服务器情况

 服务器 1:Nginx(80)、redis(6379)

 服务器 2:Tomcat1(8080)、tomcat2(8080)

 服务器 3:MySQL(3306)

3、Nginx 主要配置

http {
 ......
 upstream tomcat {
 ip_hash;
 server tomcat1:8080 max_fails=3 fail_timeout=15s;
 server tomcat2:8080 max_fails=3 fail_timeout=15s;
 }
 server {
 ......
 location /tomcat {
 proxy_pass http://tomcat;
 }
 }
}

4、会话保持的几个方案说明

1. nginx 的 ip_hash 算法

实现原理就是同一个客户端的所有请求只调度给同一个后台 tomcat,这样会话就能保持在同一台服务器上。

优点:配置最简单,在 nginx的 upstream 调度里加一句ip_hash 即可。

缺点:后端 tomcat 宕机,用户 session 会丢失。

2. tomcat 的 session 复制集群

多台 tomcat 通过组播互相沟通会话信息,以保持不同tomcat 之间的会话一致性。

优点:后端 tomcat 宕机,用户 session 不丢失。

缺点:使用组播将信息复制到多个 tomcat 节点,网络开

销大。

3. 缓存集中式管理 session

session 可以保存在文件、数据库和内存中,利用 redis 或 memcached 将 session 信息缓存,以达到会话信息不丢失,也不影响负载均衡的目的。

优点:只要缓存服务器没问题,用户 session 不会丢,也没有额外的网络开销。

缺点:太依赖缓存服务器,需要额外的缓存服务器,成本也高,当然要求维护人员技术水平也较高,适合于性能要求高的大型环境。

5、测试功能

1. 启动好相关服务;

2. 通过 nginx 登陆后台,并确定连接的是哪个 tomcat;

3. 关闭目前使用的 tomcat,刷新后台页面,确认是否存在掉线情况;

4. 启动已关闭的 tomcat,关闭另外一个 tomcat,确认是否还在登陆状态。



Tags:Nginx   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  Tags: Nginx  点击:(7)  评论:(0)  加入收藏
安全服务器是只允许所需数量的服务器。理想情况下,我们将通过单独启用其他功能来基于最小系统构建服务器。进行最少的配置也有助于调试。如果该错误在最小系统中不可用,则分别...【详细内容】
2021-09-26  Tags: Nginx  点击:(60)  评论:(0)  加入收藏
在今年的NGINX Sprint 2.0虚拟大会上,NGINX(来自流行的开源web服务器/负载均衡器和反向代理背后的公司F5),发布了NGINX现代应用参考架构(MARA)。该公司在一篇博客文章中说,这将帮...【详细内容】
2021-09-26  Tags: Nginx  点击:(61)  评论:(0)  加入收藏
Nginx来限制访问控制的方法有多种,nginx主要有2个模块控制,但是那些不支持自定义,非常死,在大多数场景下并不实用。今天分享一个:利用openresty+lua+redis 实现封杀频繁恶意访问I...【详细内容】
2021-08-12  Tags: Nginx  点击:(119)  评论:(0)  加入收藏
为什么要优化 Ngin HTTPS 延迟Nginx 常作为最常见的服务器,常被用作负载均衡 (Load Balancer)、反向代理 (Reverse Proxy),以及网关 (Gateway) 等等。一个配置得当的 Nginx 服...【详细内容】
2021-08-11  Tags: Nginx  点击:(53)  评论:(0)  加入收藏
nginx 内存池 ngx_pool_tnginx 是自己实现了内存池的,所以在nginx ngx_pool_t 这个结构也随处可见,这里主要分析一下内存池的分配逻辑。内存池实现了包括小块内存、大块内存和...【详细内容】
2021-08-03  Tags: Nginx  点击:(71)  评论:(0)  加入收藏
Nginx 可视化管理,例如: 配置管理 性能监控 日志监控 其他配置1方案目前已实现前两条: 配置管理,和性能监控,日志分析监控这块还需要另找方案实现,目前方案直接套用大神开发的 ng...【详细内容】
2021-07-22  Tags: Nginx  点击:(121)  评论:(0)  加入收藏
nginx配置文件详解#启动子进程程序默认用户#user nobody;#一个主进程和多个工作进程。工作进程是单进程的,且不需要特殊授权即可运行;这里定义的是工作进程数量worker_proce...【详细内容】
2021-07-16  Tags: Nginx  点击:(87)  评论:(0)  加入收藏
作者:vbirdbestblog.csdn.net/vbirdbest/article/details/80913319一、HTTP服务器Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一...【详细内容】
2021-07-06  Tags: Nginx  点击:(94)  评论:(0)  加入收藏
今天总结一下负载均衡中LVS与Nginx的区别,好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TUN模式只有请求的报文经过Director,但是NAT模式,Real Server回复的...【详细内容】
2021-06-08  Tags: Nginx  点击:(114)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条