公司需要做一个领导在线问答系统,需要做到实时提问信息展示和回答信息展示,活动时长大概两个小时左右,人数上限应该在一万人,现在在选定用什么方案来实现页面实时展示最新消息 (框架 SpringBoot + Vue2 )
下面是可行的几种方案:
客户端轮询获取最新消息
socket 连接
sse (server send enevt) 这个是在用 chagpt 了解到的方法
目前是考虑用 sse ,但是不知道这个能实现需要的功能,或者有什么其他方面需要考虑的地方吗
或者大家能给出建议用什么方式实现更好吗
1
duanxianze 102 天前
两万人?两万人都能随时发言吗?先不说这难度大的离谱,就算做出来了,这么多人发言啥也看不见啊
|
2
jeanz OP @duanxianze #1 发言人数不会那么多,大概全程几百人,但是访问浏览人数上限应该能到一万人(是给其他公司省公司用的,全省人数很多)
|
3
iikebug 102 天前
sse 别用了,为啥不用 socket ,没理由想要用 sse
|
4
rocmax 102 天前 via Android
sse 是单向通道,一次请求多次响应,跟你的需求不符。
1 万个 websocket 连接性能好点的服务器应该是抗得住的,如果怕出问题就用队列解耦,分布式处理 |
5
ZGame 102 天前
一万人.. 很多直播间都不够 1w 。。
|
6
sagaxu 102 天前
这不是最典型的 websocket 场景么?
|
7
superliy 102 天前
netty websocket 不是轻轻松松吗
|
11
rocmax 102 天前 via Android
@jeanz 客户端就一个连接,能跑浏览器就行。问题在服务器端,毕竟 websocket 不好做负载均衡。
反倒用 sse 的话旧浏览器不一定支持,比如 ie 。 |
13
rocmax 102 天前 via Android 2
简单的来说在你的应用场景下,用户 1,2 连接在 nodeA ,用户 3,4 连接在 nodeB ,这时候 A 处理了用户 1 的提问,回答只能广播到 1 和 2 ,无法发给 3,4 。
中间可以搞个 redis ,pub sub 模式解耦。 |
15
idealhs 102 天前
|