nginx、memcached、tomcat 负载均衡和集群配置,session共享

HALCON 20.11实战:5步搞定工业图像异常检测(附完整代码) 本文提供了一份基于HALCON 20.11的工业图像异常检测实战指南。通过五个核心步骤——环境准备、数据预处理、模型训练、推理解析与工程化部署,详细演示了如何利用深度学习技术,仅使用正常样本快速构建并优化金属表面划痕等缺陷的检测模型,并附有完整可运行的HDevelop代码,助力工程师实现高效、智能的工业视觉质检。 阅读详情

    使用memcached-session-manager这个开源项目(http://code.google.com/p/memcached-session-manager/ ),下面简称msm。

安装nginx、memcached、tomcat  省略

 

tomcat1、nginx、memcached安装在192.168.1.11

tomcat2安装在192.168.1.101


下面分步实现基于nginx的tomcat负载均衡和集群配置

 

一,tomcat集群

    1,先下载msm及其依赖包

    http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar

 

    http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar

 

http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar

 

http://spymemcached.googlecode.com/files/memcached-2.4.2.jar


http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar

 

2,将这5个包放到$TOMCAT_HOME/lib目录下


3,修改$TOMCAT_HOME/conf/server.xml

 

 

Xml代码    收藏代码
  1. <Context docBase="E:/java_codes/TestSession/WebContent" path="" reloadable="true" >  
  2. <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
  3.     memcachedNodes="n1:localhost:11211"  
  4.     requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"  
  5.     sessionBackupAsync="false"  
  6.     sessionBackupTimeout="100"  
  7.     transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"  
  8.     copyCollectionsForSerialization="false"  
  9.     />  
  10. </Context>  

 

 这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:

 n1:localhost:11211 n2:localhost:11212


 sessionBackupTimeout的单位为分钟

 

 E:/java_codes/TestSession/WebContent 替换成你的WEB目录

 

  修改后重启两个TOMCAT即可,这个时候已经解决SESSION的共享问题.


二,配置nginx实现负载均衡

   以我的nginx.conf为例

 

Xml代码    收藏代码
  1. #user  nobody;  
  2. worker_processes  1;  
  3.   
  4. error_log  logs/error.log;  
  5.   
  6. events {  
  7.     worker_connections  1024;  
  8. }  
  9.   
  10.   
  11. http {  
  12.     include       mime.types;  
  13.     default_type  application/octet-stream;  
  14.   
  15.     sendfile        on;  
  16.     keepalive_timeout  65;  
  17.   
  18.     #gzip  on;  
  19.     upstream  www.docyeah.com   {  
  20.               server   192.168.1.11:8080;  
  21.               server   192.168.1.101:8080;  
  22.     }  
  23.     server {  
  24.         listen       80;  
  25.         server_name  www.docyeah.com;  
  26.         charset utf-8;  
  27.         location / {  
  28.             root   html;  
  29.             index  index.html index.htm;  
  30.             proxy_pass        http://www.docyeah.com;  
  31.             proxy_set_header  X-Real-IP  $remote_addr;  
  32.             client_max_body_size  100m;  
  33.         }  
  34.   
  35.   
  36.         location ~ ^/(WEB-INF)/ {   
  37.         deny all;   
  38.         }   
  39.   
  40.         error_page   500 502 503 504  /50x.html;  
  41.         location = /50x.html {  
  42.             root   html;  
  43.         }  
  44.   
  45.     }  
  46. }  

 

将www.docyeah.com替换成你的域名

192.168.1.11和192.168.1.101替换成你服务器的IP

 

结论:1.关闭任意一个tomcat ,不影响用户的登录使用

            2.若tomcat出现内存溢出异常,则session失效,具体原因正在考证!

           3.性能还不错,不过若使用基于kryo序列号方案效率会更好,transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" 

弊端:

memcached出现异常,则全部的用户登录session全部失效(单点故障的可用性),现在还没有很好的解决办法!研究过magent,magent是一款开源的Memcached代理服务器软件,但是主memcached宕机的时候,可有有效的转移到从memcached上,但是当主memcached恢复的时候,里面是没有数据的,不能有效的失效数据同步。希望这点在新的版本中能很好的解决。magent参考地址:http://code.google.com/p/memagent/

 

Laravel 结合 jwt-auth 实现无状态 API 认证(实战解析) 本文详细解析了如何在Laravel框架中结合jwt-auth实现无状态API认证,包括JWT的优势、环境搭建、Token签发与刷新、API路由保护等实战内容。通过具体代码示例和优化技巧,帮助开发者高效解决跨域认证问题,提升系统安全性。 阅读详情

相关推荐

Frida+Objection保姆级教程:从环境搭建到实战Hook(含Wallbreaker插件使用)

本文提供了一份从零开始的Frida与Objection移动安全动态分析实战指南。详细讲解了Python环境配置、Frida-Server部署、Objection核心命令使用以及Wallbreaker插件安装与应用。通过实战案例演示如何Hook网络请求(如HttpURLConnection和OkHttp3),帮助安全研究人员快速掌握应用运行时行为分析与漏洞挖掘技能。

weixin_28318011的博客 100

mina框架中对iosession的封装

之前在C#后台中,是把接入的socket放入一个map集合中,这样也行,但是使用mina框架后之所以可以选择封装,原因是iosession可以setAttribute,可以存储一个对象,这样就可以保存用于封存iosession的对象mina框架中的iosession从功能上可以简单的理解成一个客户端socket 事件派发类里掌握一个字典 (编号,处理器对象)之所以要封装iosession,还有一个

海涛高软 2724

【NCBI】SRA toolkit安装及使用-Windows&Linux版本

由于市面上的文章介绍SRA toolkit基本上都是基于Linux,而在windows下运行SRA toolkit基本上可以达到相同的效果且更为方便,故本文将分别阐明在Windows和Linux环境下SRA toolkit的安装及使用。

weixin_48076899的博客 2万+

Mina、Netty、Twisted一起学(六):session

在同步阻塞的网络编程中,代码都是按照TCP操作顺序编写的,即创建连接、多次读写、关闭连接,这样很容易判断这一系列操作是否是同一个连接。而在事件驱动的异步网络编程框架中,IO操作都会触发一个事件调用相应的事件函数,例如接收到客户端的新数据,会调用messageReceived(MINA)、channelRead(Netty)、dataReceived(Twisted),同一个TCP连接的多次请求和多个客户端请求都是一样的。 那么如何判断多次请求到底是不是同一个TCP连接,如何保存连接相关的信息?针对这个问题,

叉叉哥的BLOG 6706

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1950

避开内存陷阱:手把手教你用RKNN零拷贝接口正确管理输入输出Tensor

本文深入解析RKNN零拷贝接口在边缘计算中的高效内存管理策略,通过YOLOX实例演示如何避免内存对齐错误和数据错位。详细介绍了`rknn_tensor_mem`系列API的正确使用方法,包括内存创建、绑定、释放全流程,以及性能优化技巧如内存池技术和多核NPU负载均衡,帮助开发者提升推理效率并避开常见陷阱。

weixin_33686714的博客 160

mina —— 分布式集群下长连接session共享的解决方案

mina ---- 分布式环境下长连接session共享的可行解决方案

chpch的专栏 8806

PyQt5数据库开发3 6 QSqlQuery完整实操案例【图文详解】

PyQt5数据库开发3 6.1 QSqlQuery实操案例【多图详解】,本文有点长,主要每一个步骤都有对应的图文教程!!!

qq_53317005的博客 2962

Mina基础(六):Mina整合Spring之前的准备工作——统一通信类、扩展Session及其管理、服务端handler细化、心跳机制及处理

此章节比较零散,主要为与Spring整合及业务处理做准备,没有涉及到具体的配置,都是一些工具类的实现。 具体的整合Spring,使用的一下的这些类,下面的一章描述了如何使用这些类,看的比较晕的,可以多看看直接的配置,了解mina的运行流程。 完整的项目架构: 统一通信类 规范消息类型     目的:使用统一的封装类型,服务端接收固定的消息对象,服务端发送固定的消息对象,规范客...

矢落叶の博客 1947

杰理AC696N系列芯片外部中断使用教程

本教程详细介绍了杰理AC696N芯片的GPIO引脚中断唤醒功能实现方法。主要内容包括: 功能特点: 支持任意GPIO引脚配置为中断源 可灵活选择上升沿或下降沿触发 提供自定义中断回调函数接口 核心实现: 通过port_wkup_interrupt_init()函数配置GPIO属性 使用request_irq()注册中断服务程序 提供中断使能/关闭接口 注意事项: 此功能在低功耗模式下无效 需注意引脚冲突和中断优先级设置 建议在回调函数中实现简洁的逻辑 应用场景: 按键检测 外部信号监测 事件触发等 本方案提

qq_42014563的博客 944

一套适合 ABAP 初级和中级开发人员,从入门到提高的 ABAP 学习教程

曾几何时,ABAP 就是 SAP 的代名词。ABAP 这门编程语言造就了 SAP 名噪一时的 R/3 产品,同时也是如今 SAP 旗舰级产品,SAP S/4HANA 底层的实现语言。 ABAP 不仅代表着 SAP 这家公司在企业级管理软件市场辉煌的过去,ABAP 自身也在不断地进化着。SAP 不仅在本地部署(On-Premise)领域继续保持着自己绝对的统治地位,而且在云应用领域(Software-as-a-Service, 简称 SaaS), 也推出了自己的解决方案,比如 SAP S/4HANA Clo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5918

Linux环境下Tomcat负载均衡集群的搭建

1. Tomcat负载均衡集群搭建 关于代理服务器 代理服务器自身并不负责处理请求,而是把请求转发给真正的服务器,真正的服务器处理完之后,返回给它,它再去做一个响应,这叫反向代理服务器。 Nginx就是一个反向代理服务器,日后它可以接收大规模的请求,接收完成之后它可以把我们的请求均分到所有的集群结点之中。也就是说,日后可以通过Ngnix去管理服务器集群中的众多节点。日后所有的请求经过Ngnix时,Ngnix就可以帮助我们解决负载均衡,Ngnix的核心就是去完成负载均衡。Ngnix不仅可以作为方向代理服

qq_50313418的博客 3717

【系统分析师】高分论文:论基于构件的软件开发(气象灾害影响评估系统)

本文以某手机气象灾害影响评估系统为例,探讨了基于构件技术的软件开发实践。通过分析开发中常见的功能模块重复问题,提出建立企业构件库、针对性选择构件和加强构件管理的解决方案。项目实施中成功复用登录模块等通用构件,并针对气象数据转换需求开发新构件,最终在8个月内高质量完成系统建设。文章总结了构件开发的三个关键点:构件库建设是基础、构件选择需精准、构件管理要规范。同时指出需注意全新需求开发、性能优化等问题,建议通过培训提升团队对构件的理解力。该案例证明构件技术能有效缩短周期、降低成本,为企业积累可复用的技术资产。

数据知道的博客 4253

Nginx+Tomcat+Memcached搭建tomcat集群

写在前面: tmcat集群,nginx起到负载均衡的作用,作为一个统一入口,转发请求。由于项目部署再两台服务器上面,所以 就涉及session共享的问题。 环境: tomcat8 应用服务器1:172.26.5.189;   应用服务器2: 172.26.5.88;   memcached服务器:172.26.5.74;   Nginx地址:172.26.5.74 注:memcached服务和nginx部署在一台服务器上面。看你的服务器资源而定。 一、安装t...

Bolg of EQuaker 491

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

nginx+tomcat集群(六):Tomcat集群之间的session共享

前面我们实现了利用Nginx+Tomcat完成负载均衡的基本配置,但是这里有个问题,无法解决两台服务器之间的session共享问题。 如何解决这个问题,网上有很多资料可以参考: 利用Nginx自带的ip_hash,根据用户ip自动分配到对应的服务器,保证会话不丢失。 优点:最简单,不用任何变动,只要改变下nginx.conf 的配置即可实现。 缺点:在重启服务后,等于将后台变成单例,那部分...

YangSy_001的专栏 3215

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Nginx+Tomcat+Memcached 集群Session共享[memcached服务安装、tomcat使用memcache存储session、nginx安装配置实现tomcat负载均衡]

参考文章: Nginx+Tomcat+Memcached集群Session共享 http://blog.youkuaiyun.com/shimiso/article/details/8979044 tomcat采用msm往memcached保存sessoin http://576017120.iteye.com/blog/1172763 Memcache 查看列出所有key方法:

Thinking 1714

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Nginx+Tomcat+Memcached集群Session共享

cookie是怎样工作的?  例 如,我们创建了一个名字为login的Cookie来包含访问者的信息,创建Cookie时,服务器端的Header如下面所示,这里假设访问者的注册名 是“Michael Jordan”,同时还对所创建的Cookie的属性如path、domain、expires等进行了指定。  Set-Cookie:login=Michael Jordan;path=/;domain=...

weixin_41649106的博客 281

Nginx+Tomcat+Memcached 实现集群部署时Session共享

我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Session在服务端保存用户信息,如果浏览器不支持Cookie或者用户把Cookie禁掉了,Cookie就用不了,还有不同的浏览器采用不用方式保存Cookie,所以我们采用Session服务端来保存,上一节我们有介绍了Tomcat集群部署,怎么样集群的Tomcat对同个用户请求的都能获取保存在Session的用户信息,采用了Memcached管理Session,Memcached 是一个高性能的分布式内存对

在前进的路上 4015

Nginx+Tomcat+memcached负载均衡实现session共享

原文:http://blog.youkuaiyun.com/zht666/article/details/38515147 以下内容是参考原文修改后的 测试环境linux centOS 6 在一台真实windows机上装了两台虚拟机 192.168.1.249 192.468.1.248 每台虚拟机都装了2个tomcat 因为nginx已经是安装好的了,所以没有按照原博客安装,没...

dgqvhtlwq472235338的博客 268

https+nginx1.8+tomcat7+Memcached1.4.4集群session共享以及负载均衡环境搭建(window版本)

上学的时候一直有个梦想,就是拥有自己的网站,这个梦想在2015年10份经过自己的学习和在同事的帮助下已经实现了,同时部署阿里云ECS服务器完成备案,现在已经正式上线,后来一直听同事说nginx负载均衡能实现高并发。 于是利用下班时间搭建了Nginx和tomcat集群服务器,利用Memcached实现session共享,同时支持HTTP请求和HTTPS请求,整理了一下,分享给大家,如果存在问题,希望大家多多指点。( nginx指向两个tomcat ) 一.搭建服务器环境前期准备: ...

dxyzhbb的博客 385

Nginx和Tomcat负载均衡实现session共享

此属性值是创建序列化和反序列化保存到Memcached中的Session的编码转换器的工厂类名。如果你设置单个memcache节点<id>是可选的,所以它允许设置为<host>:<port>(memcachedNodes="localhost:11211")。此属性是那些不能改备份Session的请求的正则表达式。以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架。

bobo now~ 1204

nginx+tomcat+redis/Memcached集群完成session共享

一、nginx+tomcat+redis完成session共享 本文记录nginx+redis+tomcat实现session共享的过程 nginx安装:http://blog.youkuaiyun.com/grhlove123/article/details/47834673 redis安装:http://blog.youkuaiyun.com/grhlove123/article/details/4

zz_cl的博客 738

使用nginx加载多个tomcat实现session共享(负载均衡)

需要用到:   nginx 官网地址:http://nginx.org/来做反向代理 Windows版本下载地址:http://nginx.org/en/download.html   tomcat 官网:http://tomcat.apache.org/   memcached 官网:http://memcached.org/用memcached实现session共享 tomcat集群     以我的为例,我用的tomcat版本是apache-tomcat-7.0.68 现将tomc...

dxyzhbb的博客 525

Nginx+Tomcat+Memcached实现负载均衡和Session共享

概述: 1.tomcat简介 Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。 因为Tomcat 技术先进、性能稳定,成为目前比较流...

luxunlx123的博客 300

关于 tomcat 集群中 session 共享的三种方法

前两种均需要使用 memcached 或 redis 存储 session ,最后一种使用 terracotta 服务器共享。  建议使用 redis ,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,  不只是缓存 session ,还可以做其他用途,一举几得啊。  1、使用 filter 方法存储  这种方法比较推荐,因为它的服务器使用范围比较多

F3022770533的博客 281
上一篇: 利用Spring框架封装的JavaMail现实邮件发送
下一篇: tomcat集群,几种session同步解决方案的比较
dabao_java
博客等级 码龄19年 35粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值