我应该在前端轮询,还是后端通过websocket发送?



我有一个mongodb数据库,在那里我存储的产品可以有到期日期。我想让用户知道产品是否过期。

我没有太多的经验与websocket连接,所以我不确定如何&;昂贵&;他们在想,哪一个更值得。

如果我从前端轮询(这是n个用户,每t次),那就是n个http请求,以及每t次数据库查询(假设均匀分布)。

另一方面,如果我从后端,从单个实例轮询,并发布到订阅者,这是1数据库查询每t,但n websocket连接同时加载大量数据,然后休息t(所以n不是均匀分布到t)。

哪个更理想?

WebSockets在这种情况下是最好的。通过使用客户端网络轮询数据库服务器,给数据库服务器增加了不必要的负载(不是什么大事,但也不理想)

设置WebSockets可能很耗时,并且在扩展时可能会遇到困难。你可以使用像PieSocket这样的服务。

下面是一个发布在PieSocket上的关于如何实时跟踪MySQL数据库变化的例子。为Mongo编写相同的代码应该很容易:跟踪MySQL数据库的变化与WebSockets

最新更新