【如果微博变成即时聊天,程序员该怎么办?】“聚众看热闹”是人类永恒不变的爱好,但我们看热闹的方式却并不丰富:要么刷BBS,要么扎进社交软件的群聊。
不知你有没有想过,如果将二者合二为一,让微博这样的社区,全部变成即时聊天,各个博主的动态,全部以群聊消息的形式推送给你,你又可以即时地回复、互动,甚至和这些博主连麦视频,情况会是怎样的?
这将是一个超级社区,或者更准确地说,这将是一个无人数上限的“超级群”。
可是,这个“超级群”,实现起来将非常困难。在程序员看到产品设计的那一刻,就有精神崩溃的风险。
崩溃主要源自技术挑战,更确切地说,是服务器面临的巨大的读写压力和存储压力。
微博曾出现过几次著名的故障:赵丽颖领证、关晓彤官宣、王宝强离婚。在调侃微博崩溃的各种网络段子背后,我们能看到的是,一个架构师面对一条微博下几秒新增数万条评论,服务器压力瞬间暴涨几十倍的无奈身影。
与此类似的是直播弹幕的分发场景。无论是近期的视频号五月天跨年演唱会,还是 B 站春晚,弹幕过百万轻而易举(“二零一九最美的夜”晚会弹幕超过 170 万条)。
理论上讲,每一条弹幕都要向直播间内观众做全量分发。以五月天跨年演唱会为例,当晚有 1,680 万人在线上观看,如果保守假设当晚共发送 100 万条弹幕,那么单是弹幕的写操作,就至少要执行 16,800,000 x 1,000,000 次。因为实际支撑有困难,又要顾及用户的屏幕根本无法同屏显示上万条评论,所以弹幕的转发一般都是降级处理 —— 只分发一小部分给你看,其他的略过。
而如果将微博评论、直播弹幕,全部“群聊化”,问题会更加恐怖。“群聊化”后,产品形态成为“超级群”,问题进入 IM 场景,可以做相应的流控,但不能丢弃信息。且无论是微博评论还是直播弹幕,对信息上下文的关注度都不高,但这恰恰是 IM 关注的重点。
可以说,至少在 3 年以前,能够系统解决这些问题并将其打磨为一个成熟产品的人不多。直到 2018 年,国外出现了一个名叫 Discord 的软件,网友才体验到了这种全新的社区形式。Discord 最初只服务于游戏语音连麦,但很快演化为一个超级社区。2021年,据报道,Discord 已有超过 1.4 亿名注册用户。而在 npr 的采访中,美国的一名18岁少年表示,他2020年的大部分时间都在 Discord 上闲逛,并将其形容为“Reddit 和群聊的混合体”。