关于web socket server的问题

在很多题目中我们会用到web socket,请问web socket一般我们是用一个单独的web socket server还是说让gateway或者edge server来承担保持web socket?
web socket server 前面不需要连接gateway/firewall/load balancer吗?(realtime collaboration的architecture里面web socket server就没有经过gateway+firewall+lb,而dropbox high level architecture里面好像又是用gateway来保持web socket)

实际情况下, Websocket 是需要连 gateway 的,因为 Websocket 第一次建立的时候需要 gateway 的帮助,后续 gateway 就是简单 pass through 了。Websocket Server 是一个有业务逻辑的服务,比如在 dropbox 里承担 notification 的责任。

所以dropbox high level architecture里面notification server 负责websocket的连接?

Dropbox 情况下,只有 notification server 通过 websocket 连接跟客户端通讯。

老师 在文本课上写的是用log poll Dropbox 云存储服务系统设计题解 哪个是对的呢?

用 websocket,long poll 不是错误答案,但不如 websocket 优化。

但这里notification server 是告诉 user file change, user也会主动跟server 发送消息吗?

notification server 会告诉客户端有更新,客户端会主动向服务器要具体的数据