【问题标题】:glassfish load balancer principle of operationglassfish负载均衡器工作原理
【发布时间】:2012-08-22 14:57:44
【问题描述】:

我在 glassfish 3.1.1 和 iPlanet Web Server 上配置了具有两个实例的集群作为负载平衡器(在同一台机器上)。对于 glassfish 提供的测试应用程序,一切正常(并且此应用程序启用了会话复制)。

但是当我尝试让自己的应用程序工作时,会发生以下情况:当我在特定实例的端口(即 28080 和 28081)上发送请求时它会响应,但是当我尝试通过负载均衡器(端口81) 我收到错误 404。我的应用程序尚未启用会话复制,但它可以建立连接并为每个实例创建另外两个会话。我想用负载均衡器获得类似的效果。

所以我想确定:

  1. 负载均衡器是否需要会话复制才能正常工作?
  2. 有人知道这个错误的其他原因吗?

来自 iPlanet 日志的消息:

[23/Aug/2012:05:44:16] failure ( 4120) myHost: for host 127.0.0.1 trying to GET /myApp/login.jsp, service-j2ee reports: PWC6117: File "c:/webserver7/https-myHost/docs/myApp/login.jsp" not found

补充结论:

(81 - iPlanet 上的 http-listener 端口)

当我发送GET http://localhost:81/testApp 时,负载均衡器会将其传递给 glassfish 并返回正确的站点。但是,当我对我的测试应用程序GET http://localhost:81/myApp 进行相同尝试时,iPlanet 会在其自己的资源中查找该站点(如上面日志中的 docs 目录)

myHost-obj.conf 的片段:

<Object name="default">
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
NameTrans fn="name-trans-passthrough" name="lbplugin" config-file="C:/WebServer7/https-myHost/config/loadbalancer.xml"
NameTrans fn="assign-name" name="perf" from="/.perf"
NameTrans fn="ntrans-j2ee" name="j2ee"
NameTrans fn="pfx2dir" from="/mc-icons" dir="C:/WebServer7/lib/icons" name="es-internal"
PathCheck fn="uri-clean"
PathCheck fn="check-acl" acl="default"
PathCheck fn="find-pathinfo"
PathCheck fn="find-index-j2ee"
PathCheck fn="find-index" index-names="index.html,home.html,index.jsp"
ObjectType fn="type-j2ee"
ObjectType fn="type-by-extension"
ObjectType fn="force-type" type="text/plain"
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file"
Service method="TRACE" fn="service-trace"
Error fn="error-j2ee"
AddLog fn="flex-log"
</Object>

【问题讨论】:

    标签: glassfish webserver load-balancing session-replication


    【解决方案1】:

    首先,如果您正在运行负载平衡器插件,那么您可能有一份支持合同(在将插件投入生产之前需要一份 GlassFish 许可证)。如果是这样,致电支持是一个不错的选择。

    要回答您的第一个问题,负载均衡器的工作不需要会话复制。

    作为一个无耻的插件,我有一个5-part youtube series 来设置它。您可以跳过有关下载和安装的视频,直接进入设置/配置/测试。根据您的描述,我怀疑问题不是插件本身,而是 loadbalancer.xml 配置。查看 loadbalancer.xml 看看是否配置了 myApp。

    希望这会有所帮助。

    【讨论】:

    • 不完全是,但迫使我再次阅读本教程,当我重新部署我的应用程序并键入 apply-http-lb-changes 时,它开始工作。不管怎样,谢谢你的回答。
    猜你喜欢
    • 2015-03-28
    • 2011-12-29
    • 2021-12-07
    • 2021-04-29
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多