WAS集群请求分发和负载均衡问题

问题描述

楼主有个生产环境,有3台服务器,以下简称为A/B/C,上面建了A/B/C三个node节点,IHS和DM也部署在A上,只有1个IHS,简单的1拖3架构。建了1个水平集群,3个SERVER分布在3个node上。SERVER配置只改动了JVM大小、webcontainer大小、JVM日志、cookie名(每个server不一样),其他均未改动。IHS只改动了maxclients,其他未改动。IHSPLUGIN均为默认配置,未改动。楼主碰到的问题:有个应用,登录的时候会把一些信息存储到SESSION中,紧接着的后一个请求再取出来用。但是生产环境出现了下一个请求有时候会取不到上一个请求保存的SESSION的情况,概率较小。进一步测试,如果把aserver关掉,只留b/cserver,取不到SESSION的情况概率大大增加,可以达到50%。而如果aserver是开着的,貌似请求大部分都发给了aserver处理。把IHSPLUGIN的日志调整为DEBUG级别,跟踪后发现了以下规律:1)如果上一个请求是b/cserver响应的,下一个请求却发给了a,于是就出现了取不到SESSION的情况。PLUGIN-IN日志记录:DEBUG:ws_server_group:NewserverGroupNextRoundRobinServer:RoundRobinloadbalancing;(采用RR)2)如果上一个请求是aserver响应的,下一个请求基本上都还是交给a处理。PLUGIN-IN日志记录:DEBUG:ws_common:websphereParseCloneID:Parsingcloneidsfrom0000HYWoVdhHX4hteSmeTGkOCCz:1a854qhjl;(sessionAffinity)3)PLUGIN里面记录的统计信息如下,可以看到只有a1有affinityRequest,并且a1响应了绝大部分请求。STATS:ws_server:serverSetFailoverStatus:ServerNode134_cluster2_server_a1:pendingRequests0failedRequests0affinityRequests997totalRequests1026.STATS:ws_server:serverSetFailoverStatus:Serverhrac1Node01_cluster2_server_b1:pendingRequests0failedRequests0affinityRequests0totalRequests5.STATS:ws_server:serverSetFailoverStatus:Serverhrac2Node01_cluster2_server_c1:pendingRequests0failedRequests0affinityRequests0totalRequests35.从以上测试结果来看,aserver有sessionaffinity效果,只要一开起来,会把压力都集中到这台上面。b/cserver没有sessionaffinity效果,请求分发采用随机轮询,就可能会出现下一个请求取不到上个请求保存的SESSION的问题。查看plugin-cfg.xml,看到它配置了AffinityCookie="cluster2_a1",不过并没有其它两个session:cluster2_b1/cluster2_c1的配置。也就是说,只有cluster2_a1朿sessionAffinity,而其它cluster2_b1/cluster2_c1却没有。<UriGroupName="default_host_cluster2_URIs"><UriAffinityCookie="cluster2_a1"AffinityURLIdentifier="jsessionid"Name="/cm/*"/></UriGroup>如果我把cluster2_b1/cluster2_c1两个cookie也都添加到上面的affinityCookie配置里面,仍然只有cluster_a1有affinity效果。总结问题:WAS为什么只给a1赋予了AffinityCookie,而其它两个没有?这样子不是会负载失衡吗?有没有什么办法可以使皿3个server都有Affinity效果。

时间: 2024-10-26 06:05:29

WAS集群请求分发和负载均衡问题的相关文章

什么是集群,什么是负载均衡,他们2者的关系是什么啊。

问题描述 什么是集群,什么是负载均衡,他们2者的关系是什么啊.希望有自己的理解,不要copy长篇大论..因为我已经看过了.就是看得迷迷糊糊的所以才请教大家.我可能不可以这样理解:1:集群是一种多服务器结构(可能每个服务器部署在多个电脑上,也可以是1个).2:是否集群主要看是不是多个相同应用被部署.(可以在多台电脑上,也可以是1个)3:要负载均衡必须集群. 解决方案 解决方案二:集群是一个统称,他分为好几种,如高性能科学群集.负载均衡群集.高可用性群集等.科学群集通常,这种集群涉及为群集开发并行编

activemq分布式集群是怎样实现负载均衡的?仅仅是针对消息的负载均衡吗?

问题描述 activemq分布式集群是怎样实现负载均衡的?仅仅是针对消息的负载均衡吗? 请问大家activemq是怎样实现负载均衡的呢?只是failover()吗?还是针对于消息平均发送给消费者呢?比如说两台机器搭建分布式集群后,100个消费者连上后怎么平均分配?还有一台重启了之后怎样实现它上面的客户端再连回去呢?activemq负载均衡是什么原理? 解决方案 参考下http://blog.csdn.net/jason5186/article/details/18702523http://www

Tomcat集群的三种负载均衡方式优缺点对照。

1.使用DNS轮询.2.使用Apache R-proxy方式.3.使用Apache mod_jk方式. DNS轮询的缺点是,当集群中某台服务器停止之后,用户由于dns缓存的缘故,便无法访问服务,必须等到dns解析更新,或者这台服务器重新启动.还有就是必须把集群中的所有服务端口暴露给外界,没有用apache做前置代理的方式安全,并且占用大量公网IP地址,而且tomcat还要负责处理静态网页资源,影响效率.优点是集群配置最简单,dns设置也非常简单. R-proxy的缺点是,当其中一台tomcat停

nginx学习(2):启动gzip、虚拟主机、请求转发、负载均衡

一.启用gzip 1 gzip on; 2 gzip_min_length 1k; 3 gzip_buffers 4 16k; 4 gzip_http_version 1.1; 5 gzip_comp_level 2; 6 gzip_types text/plain application/x-javascript text/css application/xml application/json; 7 gzip_vary on; View Code 将上面这段放在nginx.conf文件 ht

IBM WebSphere MQ对集群化环境和负载平衡的重要性

假设客户有一个重要应用程序使用 IBM® http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere® MQ 作为消息传递系统,需要升级现有的分布式排队环境以处理新业务和确保高可用性.作为升级的一部分,现有环境中的一些队列管理器将作为一个集群的一部分,另一些队列管理器将单独提供.本文将介绍 IBM 提出的一种概念证明设计. 队列管理器别名定义 队列管理器别名定义有 3 个用途: 在发送消息时,重新映射队列管理器名称 在发送消息

漫谈分布式集群的负载均衡—口水篇

1 什么是分布式集群 为了理解分布式集群这个概念,我们先说说这两个概念:"集群"和"分布式".艺术来源于生活,计算机科学亦是如此.我们先通过例子,来了解一下现实生活中的"集群"和"分布式". 从开餐馆说起:你开了一家餐馆,自己掌勺后厨(即做菜).随着生意越来越好,发现自己忙不过来.于是你聘请了两个厨师,你们三位厨师就是一个"集群".主要的职责是:洗菜.配菜.炒菜.你们关系如下: 随着生意越来越好,两种方式增

Haproxy负载均衡集群架构设计的例子

公司最近有一个项目由于用户担心一台单机无法承担最多用户量的使用,要求上应用集群.我们根据应用情况设计了应用集群架构. 架构图如下: 部署应用集群的特点: 1. 前端代理负载均衡 因用户环境基础架构采用虚拟化集群平台,服务器均采用虚拟机实现,所以设计时采用单台Haproxy来实现. 前端选用haproxy:有一最大的特点HTTP第7层键康状态检查,与我们实际需要一致,因经常有应用压力大,应用无法响应的情况,正好通过这一个特性进行健康状态检查,保证用户透明访问.之前有采用haporxy的主备模式做双

寻找做负载均衡和集群的高人

问题描述 需要在J2EE环境下配置3台服务器ApacheTomcat做负载均衡和集群.需要熟悉负载均衡的老手,操作系统可以是windows或linux.需要到现场机房进行实施.可以兼职. 解决方案 解决方案二:发帖都不会发.就配个环境,你还找专职?既然兼职,也不说酬劳问题,至少写个面议吧既然要去现场也不说在什么地方解决方案三:另外,你们的应用.硬件环境是什么?不同的应用,方案可能会不太一样解决方案四:有点冲啊-

从单机到集群会话的管理之集群模式二(更大的集群)

<从单机到集群会话的管理之集群模式一>中讲到的全节点复制的网络流量随节点数量增加呈平方趋势增长,也正是因为这个因素导致无法构建较大规模的集群,为了使集群节点能更加大,首要解决的就是数据复制时流量增长的问题,下面将介绍另外一种会话管理方式,每个会话只会有一个备份,它使会话备份的网络流量随节点数量的增加呈线性趋势增长,大大减少了网络流量和逻辑操作,可构建较大的集群. 下面看看这种方式具体的工作机制,集群一般是通过负载均衡对外提供整体服务,所有节点被隐藏在后端组成一个整体.前面各种模式的实现都无需负