我有一个 Node.js 应用程序,它使用 sockets.io 允许多个用户同时编辑同一个文档(有点像 Google Docs)。
我想水平扩展它,但我却不知道如何确保编辑特定文档的所有用户最终连接到同一个 Node.js 实例。
例如,假设有 2 个文档(doc-A
和doc-B
)和两台服务器(server-1
和server-2
)。有人连接并开始doc-A
在 上编辑server-1
。另一个用户连接,也想编辑doc-A
。必须将它们发送到server-1
以确保文档保持一致。最后,第三个用户连接想要编辑doc-B
。我们可以将它们发送到任一服务器,因为目前没有人在编辑该文档。
我相信每个协作编辑体验都必须解决这个问题,但我不知道该怎么做。有人能帮忙吗?