博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat集群
阅读量:6590 次
发布时间:2019-06-24

本文共 1083 字,大约阅读时间需要 3 分钟。

 

 

apache整合tomcat部署集群

http://www.cnblogs.com/God-froest/p/apache_tomcat.html

 

今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点。

略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法。
要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了。
你可以自己写tomcat的扩展来保存SESSION到memcached。
这里推荐使用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
前提:以下论述不包含 服务器 宕机 的有效处理
其实同步session只是为了保证一个用户在访问时,无论访问到哪台服务器,session都要一致,那为什么要让一个用户去访问1台以上的服务器呢?
ngnix做基于访问IP地址的分发策略 跟 session的策略不太一致,session 的 key一般是保存在cookie中,而 一个用户却可能改变IP,但cookie不变,session就应当保持
所以我做了nginx的基于cookie中某个值的分发策略,在基于IP的策略中,nginx可以保证IP相同的必定访问同一台机器,基于cookie中某个值的分发策略则可以保证只要cookie不丢,就可以访问同一台机器,避免因为同一用户可能在集群环境中访问多台服务器而必须考虑session共享的复杂问题
同意,基于IP分发的策略已经能解决绝大部分需求。
nginx在配置upstream时,有两个参数:
ip_hash(同一IP一直使用同一台server服务)
weight(server的使用权重,数值越大,nginx分发的请求越多)
通过配合这两个参数,能粗糙地解决session共享的问题。
对于一些不是太依赖session的应用,或者只有用户登录时保存,那么我认为可以用Cookies代替。

 

转载于:https://www.cnblogs.com/createyuan/p/5774130.html

你可能感兴趣的文章
Appium+Robotframework实现Android应用的自动化测试-3:一个必不可少的工具介绍
查看>>
用js实现翻牌的效果
查看>>
mui 中template 的使用
查看>>
多继承 , 组合 , 菱形继承 , 接口 , 抽象 , 鸭子类型
查看>>
aaa
查看>>
软件工程概论课程总结
查看>>
[zhuan]Simple Emacs Configuration
查看>>
python算法-冒泡排序
查看>>
[NOI2015]程序自动分析
查看>>
向量积满足分配律
查看>>
微信jssdk配置的问题,使用MVC制作的demo
查看>>
C# 常用命名空间
查看>>
使用Unity开发项目的一点经验
查看>>
线性代数与MATLAB2
查看>>
url组成部分详解
查看>>
蛇形填数
查看>>
【Objective-C】08-self关键字
查看>>
MySQL的一些常用命令
查看>>
java工厂模式的学习
查看>>
字符串format函数使用
查看>>