问题标签 [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.
session - 粘性和非粘性会话
我想知道粘性会话和非粘性会话之间的区别。从网上阅读后我的理解是:
Sticky:只有一个会话对象会在那里。
非粘性会话:每个服务器节点的会话对象
load-balancing - Varnish 与客户端主管是否会将流量发送到不健康的后端?
我们的设置是一个 varnish in-front 服务于 2 个后端并配置了健康轮询。我们使用client director进行负载均衡,所以后端是根据client.identity来挑选的
当两个后端之一失败时,varnish 成功将此后端设置为 Sick,但是我们看到访问者收到数据库错误,因为它们被发送到 Sick 后端!
我搜索了清漆文档,但没有找到任何特定于“客户总监”的内容,我看到了很多“循环”,他们明确表示清漆不会使用生病的后端,但对于“客户总监”却没有'。
任何人都可以验证当 varnish 使用“client director”时不会选择生病的后端吗?这样我就知道某处有错误的配置,这不是清漆错误。
node.js - Socket.io 事件仅在同一进程中工作
我正在尝试使用 socket.io 和 sticky-session 将消息传递给我的客户。
问题是连接到其中一个进程的客户端不会从其他进程获取消息,只会从他连接的进程获取消息。
如何使 Web 套接字在所有进程中工作?
服务器.js:
Process.js:
客户端.js:
socket.io - iisnode 获取远程地址
试图让 iisnode 和 socket.io 工作(在 linux 上运行良好)。我正在使用 Sticky 会话来使用多个处理器。
现在通过 iisnode 运行时,我在从客户端获取远程 IP 时遇到问题。
看起来 connection.headers 是空的。我错过了什么?
更新:使用 pause { pauseOnConnect: true } 时,您无法访问标题。
javascript - 实现文件下载时如何避免粘滞会话?
这是一项任务 - 有必要根据来自 UI 端 (JavaScript) 的一些数据生成文件。架构非常简单:
UI 向服务器发出异步 POST HTTP 请求并提供一些 JSON 数据:
/li>服务器接收请求,生成一个文件,将它放到文件系统中并返回唯一 ID:
/li>UI 端获取生成的文件的唯一 id 并请求它:
/li>服务器输出请求的文件:
/li>
当我们考虑这个具有多个服务器的模式时,问题就开始了。如果我们有两个实例Server_A和Server_B以及它们前面的负载均衡器,那么我们需要确保上面提到的两个请求都发送到同一台服务器。因此需要粘性会话。为像http://server_a/reports/123这样指定的服务器提供绝对路径并不是一个好的选择,因为我们想让所有服务器都无法从外部世界访问。
那么有哪些选项可用于实现下载生成的文件以及避免粘滞会话?
nginx - nginx 为特定请求指定服务器
假设我ip_hash;
打开了 4 个不同服务器之间的负载平衡。因此,客户端的 IP 地址被用作哈希键来确定他的请求被路由到哪个服务器。
但是,对于文件上传,最好将所有文件保存在一个服务器中。因此,我希望所有客户端的/upload
所有请求都路由到服务器 1 。这意味着所有请求都服从 IP 哈希,除了必须发送到服务器 1 的请求。POST /upload
有没有办法在 NGINX 中创建这个异常?谢谢!
node.js - 如何创建将保持 WS 和 WSS 连接的 soket.io 服务器?
我有一个socket.io
带有这样代码的服务器:
它适用于 WS 协议,但我也想支持 WSS 协议。当我使用粘性会话时,是否可以同时使用 WS 和 WSS 协议?
来自sticky-session
文档:
粘性会话模块正在使用它们的 IP 地址平衡请求。因此客户端将始终连接到同一个工作服务器,并且 socket.io 将按预期工作,但在多个进程上!
但是我想通过 WS 和 WSS 建立开放连接,但我不明白谁来更新我的服务器以保持 WS 和 WSS 连接。
amazon-web-services - 如何测试 AWS ELB 粘性会话是否按预期工作?
我有一个解决方案,其中将 ELB 配置为使用粘性会话。我如何才能真正验证对客户端的请求是否实际路由到 ELB 后面的自动扩展组中的同一个实例?
apache - Nuxeo 集群 - 负载均衡器 - 会话复制失败
我已将 apache2.4 http 负载均衡器配置为:
在 nuxeo 实例上,我按照 nuxeo 文档 40 的建议完成了配置:
nuxeo.server.jvmRoute=nxworker1 和 nuxeo.server.jvmRoute=nxworker2 at 41
当其中一个实例因 ex 40 而关闭时,在用户连接并处理它期间,它需要再次登录,因为似乎没有为节点 41 复制会话
有什么建议吗?
谢谢
load-balancing - 具有粘性会话的负载平衡是否仅限于单个负载平衡服务器?
如果您使用多个负载均衡器进行设置,它是否仍然支持粘性会话(例如基于 cookie)?
由于粘性会话依赖于负载均衡器中存储的状态,因此不同的负载均衡器必须交换该信息。所以在技术上我相信这是可行的。
是否有任何免费/付费解决方案可以部署在提供此功能的 prem 上?
我猜 AWS、Azure 等的负载均衡器实现了这样的功能?