- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 Golang 编写的应用程序,托管在 Google App Engine 上并使用 Firestore 作为后端。
Google App Engine 水平扩展。
我使用 Firebase 后端发送 websocket 消息。因此,用户连接到哪个 App Engine 实例并不重要。
每次用户进行身份验证时,都会创建一个 websocket 并提供在线用户列表。
在 Firestore 中,我只是在用户的套接字连接时将其标记为“事件”,在断开连接时将其标记为“非事件”。
我的问题是应用程序崩溃(它发生了,即使它没有,我需要为此做好计划。)所有通过网络套接字连接到 Go Server 的用户仍然被标记为活跃。
Web 客户端未连接到 Firebase。只到 Go 服务器。
我无法在应用程序启动时将所有用户标记为不活动。因为 App Engine 加载更多实例可能会启动多个应用程序。如果我这样做,在线用户将被由于负载而启动的新实例标记为离线。
如何解决此类问题?
最佳答案
您的问题并不清楚,但听起来您希望客户端应用程序可以根据套接字的连接来管理事件状态。这根本行不通,部分原因是您在这里的观察,还因为如果客户端完全失去连接,它也将无法更新后端的状态。
您应该从后端的角度使用 websocket 管理连接状态。它不应该失去连接。 (实际上,这就是实时数据库管理其 presence 的方式。)
关于firebase - 您如何在水平扩展的应用程序上管理 websockets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63257222/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
所以我正在开发一个黑 jack 程序,但我有点卡住了。我会警告大家,我对编程真的很陌生,而且,我正在项目中期......所以有一些松散的结局和未使用的变量,以及一些不必要的逻辑(用于测试),但这就是我
我正在尝试创建一个可用作 OpenGL 测试工具的示例程序。到目前为止,我的那个似乎可以工作,但似乎忽略了通过统一变量 MVPMatrix 传递的 MVP 矩阵。当我添加代码以读回制服并检查它是否确实
感谢您帮助我,这是有关我的代码的部分。 printf("Thank you, now please enter the logic gate"); scanf("%s", &C); if (C ==
public static void ejemplosString(String palabra){ char[] letras = palabra.toCharArray();
所以,我有一个 php 应用程序,通过 cgi 和 nginx 运行。我有一个 .jar 程序,用于在条形码打印机(Zebra)上打印条形码,猜猜看是什么!。 我的 php 应用程序使用 exec()
我遇到的唯一问题是 getAll() 方法,它似乎在 PersonnelController 类中的位置立即运行。我也曾在其他很多地方尝试过,但都没有成功。 setAll() 方法看起来不错,我已经测
我是一名优秀的程序员,十分优秀!