问题标签 [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.
amazon-web-services - AWS ELB 如何为移动客户端做会话粘性?
AWS ELB 如何为移动客户端做会话粘性?对于 Web 客户端,AWS ELB 使用 cookie 进行会话粘性/websockets。但是移动客户端一般不支持cookies,那怎么办呢?
nginx - 带有粘性会话的 docker-compose 规模
我有一个在生产中需要 websocket 连接的网络服务器。我使用 docker-compose 和 nginx 作为代理来部署它。所以我的撰写文件如下所示:
现在,如果我将“app”服务扩展到多个实例,docker-compose 将在每次调用内部 dns“app”时执行循环。
有没有办法告诉 docker-compose 负载均衡器应用粘性会话?
另一种解决方案 - 有没有办法使用 nginx 解决它?
我不喜欢的可能解决方案:
app的多重定义
(然后在 nginx 配置文件中,我可以定义 app1 和 app2 之间的粘性会话)。
我从搜索中得到的最佳结果: https ://github.com/docker/dockercloud-haproxy
但这需要我添加另一个服务(也许替换 nginx?),并且文档对于那里的粘性会话非常差。
我希望 docker 只允许在 compose 文件中使用简单的行来配置它。
谢谢!
node.js - ws websocket 服务器库在负载均衡器后面使用时是否需要粘性会话?
我正在尝试在负载均衡器后面设置 websocket 服务器。起初,我使用了socket.io库。但我发现它sticky session
在负载均衡器后面使用时需要。
根据这个网站,它发送多个请求以执行握手并建立连接。如果请求被发送到不同的服务器,连接将失败。
经过进一步研究,我发现其他像SockJS这样的 websocket 服务器库也有同样的问题。它们都需要粘性会话才能在负载均衡器后面工作。
现在我正在检查 websocket 库ws。但我找不到任何在负载均衡器后面使用它的例子。
图书馆是否ws
需要粘性会话才能工作?
是否有任何其他 websocket 库可以在负载均衡器后面没有粘性会话的情况下工作?
css - 将内容粘贴在页面底部
我的问题:
我设计了单页。页眉、内容(部分和旁边)和页脚。
页脚和页眉是粘性的。
我希望内容贴在页尾和页脚上方。
请指导我。
tomcat - 复制会话是否需要启用粘性会话?
使用复制会话时,是否还需要使用粘性会话?一起使用它们有什么好处,或者使用复制的非粘性会话有什么缺点吗?
php - 如何在 AWS 中使用粘性会话?
我们有一个在AWS上运行的网站 WordPress 网站,并在其上实施了ELB。每当访问我们的网站时,我必须保存每个访问者的 UTM 数据,并且必须在特定用户的整个会话期间保留它。
我$_SESSION
出于同样的目的使用它是徒劳的,因为我们知道 AWS 不$_SESSION
支持ELB。我们搜索了替代方案,发现可以通过在AWS上使用 Sticky Sessions 来实现。
现在,问题是我们不知道如何实现粘性会话。您能否告诉我们如何在AWS上使用粘性会话?
php - 具有粘性会话的 PHP 应用程序的 CodeDeploy
我有一个在 AWS 自动扩展组上运行的 PHP 应用程序,该组使用 AWS ELB 后面的粘性会话。
在对这些机器运行 CodeDeploy 以发布时,CodeDeploy 将首先删除文件,然后再用新文件替换它们。但是,在这短时间内,所有访问服务器的 Web 请求都将收到 404 或 500 服务器错误,因为文件并非全部存在。
由于粘性会话,连接耗尽和将服务器从池中拉出将不起作用,因为当我们将服务器从池中拉出时,我们会将用户从系统中注销。
我考虑过将代码部署到文件系统中的新目录并重新同步,但我认为这只能部分解决问题,因为 rsync 也不是即时的。
像这样的粘性会话服务器是否可以看到无缝部署?
load-balancing - 粘性会话持续时间
是否可以在 mod_cluster 中指定粘性会话持续时间?
我的意思是当一段时间没有活动时,卡住的会话被清除。
我们有一个可分发的应用程序,它在 Web 会话中保留对登录用户的引用。但是在登录时,Web 会话复制的速度不如登录请求之后的请求快。因此,如果对于这些请求,平衡器选择了一个尚未被复制的节点,那么用户将不会处于会话中并且会发生错误。
此功能的另一个用途是在服务器上使用缓存信息时。如果您不使用粘性会话,您将加载以在不同服务器中缓存多次相同的信息。但是,如果您使用粘性会话,您将在整个会话生命周期中绑定到同一台服务器。
提前致谢
莱安德罗
node.js - Node.js 粘性会话,如果移动 IP 被更改了怎么办?
我们知道粘性会话使用 IP 地址的哈希来使每个客户端连接到同一个集群(或进程)。相反,我使用具有相同原理但更好的粘性集群。
那么……如果移动设备的 IP 发生变化怎么办? 我们也知道每一个移动设备移动,它的 IP 都可能改变。如果发生这种情况,握手协议将被破坏。
就我而言,因为我必须使用 socket.io 来制作 messenger 应用程序,所以我必须解决这个问题。
实际上,我向粘性集群开发人员 Denis Zhbankov 发送了电子邮件,他说
这是粘性会话的一个缺点,但是主人应该决定哪个工人在没有实际读取数据(标头,cookie ......)的情况下接收连接......不幸的是没有解决方案......所以我来到了这里。
但我试图找到解决方案。我希望它会帮助你提示。
这是粘性集群的代码示例。如您所见,它使用 ip 哈希,获取 idx,并将连接传递给工作人员 [idx]。(平衡)
在这里,我认为连接(参数)会有一些唯一标识符,可以代替ip。所以我解开了连接(套接字)对象。但是没有什么可以代替 ip ......
这太愚蠢了!:D
如果您有解决此问题的任何想法,请回答任何问题..;)
简短:使用粘性会话时,即使客户端 IP 在移动设备中发生变化,如何使客户端连接到同一个集群。
cookies - Spring Boot JSESSIONID 安全标志未通过 HTTPS 设置
我们已经使用 Liberty for Java 构建了一个 Cloud Foundry 应用程序。在测试应用程序时,我们发现 SSL cookie 没有设置安全标志。
问题:JSESSIONID 没有设置安全标志,而 _VCAP_ID 设置了安全标志
我们使用 Spring Boot 来开发应用程序,根据文档,我们只需要在属性文件中保护 cookie 标志:http: //docs.spring.io/spring-boot/docs/current/reference/html/common -application-properties.html
解决方案:我们已经按照这篇文章在春季自动将安全标志添加到 JSESSIONID cookie 中解决了这个问题
有谁知道 Cloud Foundry 或 Liberty 是否存在无法通过 HTTPS 同时在 JSESSIONID 和 _VCAP_ID 上设置 SSL cookie 安全标志的问题?