Tag: 规模

如何缩放“读取的消息”和“正在写入…”的聊天function?

我已经看到很多关于如何scale chats的问题,但是他们似乎都没有解决这两个function的问题,这些function可能会显着增加http请求的数量。 例: 当n个人正在聊天时,每个人都发送消息,这是1个HTTP请求,以及(n-1)被推回的消息。 现在,每当有人“读取”消息(例如在$(input).on('focus')时触发),它是(n-1)倍新的http请求和(n-1)²被推回的消息。 每次有人发信给他开始写的其他人,这是一个新的HTTP请求,其次是n-1 websocket消息。 但是,既然每条消息都有一个机会,他根本没有发送任何东西(但是要清除他的消息,而不是写作),我们可以假设它至less是(n-1)*k k>1表示在发送之前写/擦除他的作品的人的倾向 考虑4人聊天,其中一人发送一条消息的聊天。 案例一 – 没有function| 1 http请求, 3 websocket消息 情况二 – “留言阅读function” 只有 | 4 http请求, 12 websocket消息 情况三 “ 正在写…function, k=1 | 2 http请求, 6 websocket消息 总结: 1 http / 3 ws vs 6 http / 18 ws 仅用于一个消息并且假设k = 1 我在我的应用程序中使用node.js & pusher ,在我开始实施这两个之前,我想确保我的成本不会litteraly爆炸哈哈。 有关Facebook如何做到这一点,数十亿条消息的线索? […]