1

我正在使用数据库,并且可以从数据库中加载每个请求的数据,但它可能太慢了。所以我的想法是将数据保存在服务器上(就像服务器通常那样)。这个想法只使用一台服务器就很有效。现在,当第二台服务器进入太空时,这种情况的处理变得更加复杂。请记住,服务器可能在物理上是分开的。

在不使用数据库的情况下确保两个或多个 node.js 服务器上的所有数据相同的最佳实践是什么?

我的第一个想法是每个服务器实例都有一个超级对象管理器。这个对象管理器将为我创建/加载的每个对象(例如数据库中的用户)接收一个唯一的 ID(对于所有服务器,存储在数据库中)。假设用户的对象具有 id 3h34ds。现在,当我更新我的用户对象时,对象管理器会处理更改并向所有其他服务器广播消息,包括对象 ID(这是全局唯一的)和元数据(例如 JSON)。

这可靠吗?这可以实现吗?我不这么认为,因为每次更改某些内容时我都会通知对象管理器。事实上,这会破坏代码流,例如

user.name = "Test";
objectManager.notify(user); // this is unlovely

有没有更好的方法?

4

0 回答 0