Java 与JEE的选择性粘性会话

Java 与JEE的选择性粘性会话,java,session,jakarta-ee,wildfly,sticky,Java,Session,Jakarta Ee,Wildfly,Sticky,我有一个带有RESTAPI(JAX-RS)的应用程序——这些API当然是无状态的。第二部分是基于JSF的网站管理,它使用会话(会话范围的bean) 我希望部署多个应用程序节点,隐藏在负载平衡器(任何loadbanacer)后面。是否可以仅对管理部分的请求使用粘性会话,而对RESTAPI端点使用任何其他形式的负载平衡(令牌环) 可以在web xml中将web应用设置为“可分发”: <web-app> <distributable/> </web-app>

我有一个带有RESTAPI(JAX-RS)的应用程序——这些API当然是无状态的。第二部分是基于JSF的网站管理,它使用会话(会话范围的bean)

我希望部署多个应用程序节点,隐藏在负载平衡器(任何loadbanacer)后面。是否可以仅对管理部分的请求使用粘性会话,而对RESTAPI端点使用任何其他形式的负载平衡(令牌环)

可以在web xml中将web应用设置为“可分发”:

<web-app>
    <distributable/>
</web-app>

并将其添加到jboss-web.xml中

<jboss-web>
  <replication-config>
     <cache-name>web.dist</cache-name>
  </replication-config>
</jboss-web>

web.dist

做这个把戏吗?

我不明白:如果集群中丢失了一个节点,负载平衡器只会将传入的请求转发到另一个可用节点。如果请求带有会话令牌,则用户将继续使用您的应用程序而不会出现问题;类似地,REST请求继续工作,并且不受会话活动的影响,因为它不携带会话令牌。问题在哪里?更确切地说,通过为应用程序和会话复制的一方进行粘性会话,您试图实现什么?也可以考虑配置粘性会话和会话复制发生在不同的地方:您的应用程序通常具有会话复制设置(除了AppServer支持设置)。web服务器(或负载平衡器)负责粘性会话。谢谢。1.Web应用程序使用会话故障转移。在会话复制的情况下,不需要粘性会话,对吗?2.我想实现这样一种情况:没有会话令牌的请求不会被重定向到一个节点(粘性会话)。这是负载平衡器的正常行为吗?1)正确2)这是可能的,但它的实现方式将取决于您的特定负载平衡器。好的,谢谢你的回答,我不清楚。