问题标签 [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 投票
2 回答
177200 浏览

session - 粘性和非粘性会话

我想知道粘性会话和非粘性会话之间的区别。从网上阅读后我的理解是:

Sticky:只有一个会话对象会在那里。

非粘性会话:每个服务器节点的会话对象

0 投票
1 回答
512 浏览

load-balancing - Varnish 与客户端主管是否会将流量发送到不健康的后端?

我们的设置是一个 varnish in-front 服务于 2 个后端并配置了健康轮询。我们使用client director进行负载均衡,所以后端是根据client.identity来挑选的

当两个后端之一失败时,varnish 成功将此后端设置为 Sick,但是我们看到访问者收到数据库错误,因为它们被发送到 Sick 后端!

我搜索了清漆文档,但没有找到任何特定于“客户总监”的内容,我看到了很多“循环”,他们明确表示清漆不会使用生病的后端,但对于“客户总监”却没有'。

任何人都可以验证当 varnish 使用“client director”时不会选择生病的后端吗?这样我就知道某处有错误的配置,这不是清漆错误。

0 投票
0 回答
178 浏览

node.js - Socket.io 事件仅在同一进程中工作

我正在尝试使用 socket.io 和 sticky-session 将消息传递给我的客户。

问题是连接到其中一个进程的客户端不会从其他进程获取消息,只会从他连接的进程获取消息。

如何使 Web 套接字在所有进程中工作?

服务器.js:

Process.js:

客户端.js:

0 投票
1 回答
253 浏览

socket.io - iisnode 获取远程地址

试图让 iisnode 和 socket.io 工作(在 linux 上运行良好)。我正在使用 Sticky 会话来使用多个处理器。

现在通过 iisnode 运行时,我在从客户端获取远程 IP 时遇到问题。

看起来 connection.headers 是空的。我错过了什么?

更新:使用 pause { pauseOnConnect: true } 时,您无法访问标题。

0 投票
1 回答
289 浏览

javascript - 实现文件下载时如何避免粘滞会话?

这是一项任务 - 有必要根据来自 UI 端 (JavaScript) 的一些数据生成文件。架构非常简单:

  1. UI 向服务器发出异步 POST HTTP 请求并提供一些 JSON 数据:

    /li>
  2. 服务器接收请求,生成一个文件,将它放到文件系统中并返回唯一 ID:

    /li>
  3. UI 端获取生成的文件的唯一 id 并请求它:

    /li>
  4. 服务器输出请求的文件:

    /li>

当我们考虑这个具有多个服务器的模式时,问题就开始了。如果我们有两个实例Server_AServer_B以及它们前面的负载均衡器,那么我们需要确保上面提到的两个请求都发送到同一台服务器。因此需要粘性会话。为像http://server_a/reports/123这样指定的服务器提供绝对路径并不是一个好的选择,因为我们想让所有服务器都无法从外部世界访问。

那么有哪些选项可用于实现下载生成的文件以及避免粘滞会话?

0 投票
1 回答
70 浏览

nginx - nginx 为特定请求指定服务器

假设我ip_hash;打开了 4 个不同服务器之间的负载平衡。因此,客户端的 IP 地址被用作哈希键来确定他的请求被路由到哪个服务器。

但是,对于文件上传,最好将所有文件保存在一个服务器中。因此,我希望所有客户端的/upload所有请求都路由到服务器 1 。这意味着所有请求都服从 IP 哈希,除了必须发送到服务器 1 的请求。POST /upload

有没有办法在 NGINX 中创建这个异常?谢谢!

0 投票
1 回答
853 浏览

node.js - 如何创建将保持 WS 和 WSS 连接的 soket.io 服务器?

我有一个socket.io带有这样代码的服务器:

它适用于 WS 协议,但我也想支持 WSS 协议。当我使用粘性会话时,是否可以同时使用 WS 和 WSS 协议?

来自sticky-session文档:

粘性会话模块正在使用它们的 IP 地址平衡请求。因此客户端将始终连接到同一个工作服务器,并且 socket.io 将按预期工作,但在多个进程上!

但是我想通过 WS 和 WSS 建立开放连接,但我不明白谁来更新我的服务器以保持 WS 和 WSS 连接。

0 投票
2 回答
1268 浏览

amazon-web-services - 如何测试 AWS ELB 粘性会话是否按预期工作?

我有一个解决方案,其中将 ELB 配置为使用粘性会话。我如何才能真正验证对客户端的请求是否实际路由到 ELB 后面的自动扩展组中的同一个实例?

0 投票
1 回答
230 浏览

apache - Nuxeo 集群 - 负载均衡器 - 会话复制失败

我已将 apache2.4 http 负载均衡器配置为:

在 nuxeo 实例上,我按照 nuxeo 文档 40 的建议完成了配置:
nuxeo.server.jvmRoute=nxworker1 和 nuxeo.server.jvmRoute=nxworker2 at 41

当其中一个实例因 ex 40 而关闭时,在用户连接并处理它期间,它需要再次登录,因为似乎没有为节点 41 复制会话

有什么建议吗?

谢谢

0 投票
0 回答
204 浏览

load-balancing - 具有粘性会话的负载平衡是否仅限于单个负载平衡服务器?

如果您使用多个负载均衡器进行设置,它是否仍然支持粘性会话(例如基于 cookie)?

由于粘性会话依赖于负载均衡器中存储的状态,因此不同的负载均衡器必须交换该信息。所以在技术上我相信这是可行的。

是否有任何免费/付费解决方案可以部署在提供此功能的 prem 上?

我猜 AWS、Azure 等的负载均衡器实现了这样的功能?