问题标签 [sticky-session]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
430 浏览

nginx - 如何在 Kubernetes 中为多个服务设置粘性会话?

我有 2 项服务:

  1. 带有 Nginx 的 Restful/websocket API 服务(2 个副本)

  2. 守护程序服务(1 个副本)

守护程序服务将在某个时候向前端发出 websocket 事件。但是,该事件似乎没有从守护程序服务成功发送到前端。

我还尝试将事件从 API 服务器发送到前端,并且事件已成功发送到前端。(可能是因为前端连接到 API WebSocket 服务器)。

我为粘性会话做了什么:

0 投票
1 回答
455 浏览

amazon-web-services - 有没有办法在“一个”请求中对 AWSALB cookie 中的“所有”目标组的会话粘性信息进行编码?

我们的 ALB 在多个目标群体中注册。每个目标群体都是一个单独的 Web 应用程序,服务于同一域下网站的不同部分。

这是AWS 文档中关于粘性会话 cookie 编码实践的片段

当负载均衡器第一次收到来自客户端的请求时,它会将请求路由到目标,生成一个名为 AWSALB 的 cookie,该 cookie 对有关所选目标的信息进行编码,加密 cookie,并将 cookie 包含在对客户端的响应中。

这是我们面临的问题的摘要

  • 当客户端发出并行请求时,会话粘性将不起作用,因为没有任何请求具有 AWSALB cookie。

  • 当客户端发出单个阻塞请求,然后发出多个并行请求时,粘性仅适用于为初始阻塞请求提供服务的目标组。如果其余并行请求是针对其他目标组的,则此处没有粘性,因为他们的目标组信息尚未编码在 AWSALB cookie 中。

这里的一个解决方案是向不同的 url 发出一系列顺序请求,以打击不同的目标群体,以便我们与每个目标群体建立粘性。但是,这是不切实际的,因为发出顺序阻塞请求会减慢客户端的速度。

我想知道是否有办法告诉 ALB 在单个请求中对所有目标组的会话粘性信息进行编码?在这种情况下,为所有目标组建立粘性,以便后续请求在各个目标组之间具有粘性。

0 投票
1 回答
2342 浏览

kubernetes - 如何在 Kubernetes 集群内的内部服务之间设置会话亲和性

这是我的问题:我在 kubernetes yaml 文件中定义了 3 个服务:

  • 一个前端(网站)
  • 一个后端:有状态的,用于用户会话
  • 一个后端:无状态

我需要有状态服务的会话亲和性,但不需要无状态服务或前端服务。我需要会话亲和性是基于 cookie 的,而不是基于 clientIP 的。

我尝试使用 Ingress 服务,但看不到如何在 Kubernetes 集群内的 2 个服务之间使用它作为代理。我看到的所有示例都展示了如何使用 Ingress 作为来自集群外部的请求的路由器。

到目前为止,这是我的 poc.yaml:

你知道如何解决我的问题吗?

谢谢!

0 投票
1 回答
13 浏览

asp.net - .Net Session for load balanced Servers

I have LoadBalanced WebServers in .Net. When a user logs in into the website, we are not sure if his next request goes to the same webserver. So will storing asp.net session in SqlServer DB solve the issue of recognizing the user when request switches between servers .

0 投票
1 回答
1466 浏览

nginx - 粘性会话在 Kubernetes 上使用 Nginx 不起作用

我有一个部署,其中包含 2 个 pod,其中有一个 webapp。安装 Nginx 入口控制器以使用 tls-passthrough 公开这两个 pod。我曾尝试使用注释来设置粘性会话,但无济于事。标头中没有 cookie,因此没有粘性。我该怎么做才能让它发挥作用?非常感谢您的明智回答。

我创建的入口:

0 投票
1 回答
599 浏览

apache - Apache 作为反向代理和负载均衡器需要使用粘性会话

我在集群中有两个 CentOS 8 节点(192.168.1.101 和 192.168.1.102)(使用起搏器),我将 VIP(192.168.1.100)和 Apache 配置为集群的资源。在所有节点上都安装了 Apache 2.4 和 Tomcat 9

Apache的配置是: vim /etc/httpd/conf/httpd.conf

我的 Tomcat server.xml 用于 Node1 和 Node2 vim /opt/tomcat/conf/server.xml

我的系统以这种方式工作:

  1. 在http://192.168.1.100/MyWebApp上向 VIP 发出 HTTP 请求,我收到了 Apace 的回复;
  2. Apace 将请求转发到作为反向代理和负载均衡器的两个 Tomcat 之一
  3. Tomcat发送http响应

现在在 Tomcat 的页面上,我有不同的链接,当我单击此链接(打开一个新选项卡)时,我需要使用相同的 Tomcat 服务器。

链接格式如下:

第一个链接:

当我单击它时,我会使用 第二个链接打开一个新选项卡:

这个文件在我加载页面时保存在服务器上(在我点击第一个链接之后),如果我点击链接我在新选项卡中打开文件,但有时这个请求由另一台服务器处理,我收到一个错误,因为在第二台服务器上这个文件没有被下载。

我该如何解决这个问题?感谢更新。

0 投票
0 回答
80 浏览

session-state - 是否可以使用 GTM 跨多个数据中心进行粘性会话?

我是一名软件开发人员,对 F5 GTM 了解有限。

我们正在构建将在公司网络内的 Edge 中运行的 Web 应用程序。

我们设置了两个数据中心和一个跨两个数据中心的 GTM (F5)。我们在 Istio 的 DC 中使用 Kubernetes。我们正在构建在 DC 中保持状态的 Web 应用程序。

我被告知 GTM 将为它决定使用 TTL 定向的数据中心分配一个 IP。

一旦 TTL 过期,浏览器将再次调用 GTM 以获取 GTM 可以分配给其他 DC 的新 IP。

我们希望使用粘性会话并在应用程序内存中保持状态,但 GTM 和它的 TTL 似乎使这不可靠。我不明白的是,我曾在其他地方使用 F5 GTM、主动主动部署和粘性会话。有没有人知道有什么方法可以让它与我们拥有的 GTM 设置一起工作?我们可以进行更多投资并将国家外部化,但不希望这样做。

0 投票
1 回答
127 浏览

amazon-web-services - AWS ALB - 如何将现有会话路由到服务器 A,并将新会话路由到服务器 B?

我很难理解这种情况的命名法:

假设我在 ALB 目标组中有一个 Web 服务器,服务器 A,并且用户访问该服务器。

我想使该服务器脱机,并用服务器 B 替换它,而不会对现有用户会话造成太多中断。

因此,我计划将服务器 B 添加到目标组,并希望将所有新会话路由到服务器 B。所有现有会话(并且没有新会话)将继续访问服务器 A。然后我可以决定删除服务器的适当时间A,一旦旧用户活动在服务器 A 上减慢或停止。

取消注册似乎没有用于此目的。我没有看到仅指新会话的粘性会话设置。

这种情况下最好的方法是什么?

0 投票
3 回答
77 浏览

html - 如何定位用户位置:css中的粘性

我的网站中有一个 div,里面有另一个 div,我给了内部 div 位置sticky 和 ​​top:0 但它不起作用!这是我的代码示例:

上图:容器是一个普通的 div,内部 div 有一个粘性位置和 top: 0 但它不起作用。任何解决此问题的建议!

0 投票
0 回答
79 浏览

jboss - 在 JBOSS EAP 7.2 中处理粘性会话

我想知道如何在 jboss eap 7.2 中处理粘滞会话 apache worker.properties worker.lbStore.sticky_session=1 中已进行了更改,此外,在 jboss 配置中将粘滞会话设置为 true。但是我仍然看到每个请求的 JSESSIONID 节点都发生了变化。

谢谢。