KK *_* Lo 5 load-balancing mod-proxy mod-jk apache-2.2
我真的不知道...
我有一个 java web 应用程序,它将会话 id 存储在 URL 中,而不是使用 cookie。我想在 2 个 tomcat 服务器上运行该应用程序,并在它们前面使用 Apache 服务器进行负载平衡。
__ tomcat1
Apache ----/
\__ tomcat2
Run Code Online (Sandbox Code Playgroud)
通过在Tomcat文件中设置jvmRouteto ,url就会变成. 所以可以通过查看url来实现会话粘性,并将其路由到相应的服务器。tomcat1server.xmlhttp://url;jsessionid=id.tomcat1
我知道,mod_proxy和mod_jk做负载均衡,但他们的粘性会话只有工作当会话ID存储在cookie中。就我而言,会话 ID 编码在 URL 中。如何进行负载平衡?
小智 4
也许你的配置是错误的。文档中没有指定粘性会话仅适用于 cookie。
StickySession - 平衡器粘性会话名称。该值通常设置为 JSESSIONID 或 PHPSESSIONID 之类的值,这取决于支持会话的后端应用程序服务器。如果后端应用程序服务器对 cookie 和 url 编码的 id 使用不同的名称(如 servlet 容器),请使用 | 来将它们分开。第一部分用于 cookie,第二部分用于路径。
所以你可以像下面这样指定sessionid。
ProxyPass / balancer://mycluster/ stickysession=|jsessionid
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
4100 次 |
| 最近记录: |