[Dropbox] 关于有websocket connection的时候是不是所有request都走websocket

如果是要websocket和rest api同时有的化,那具体有什么好的区分标准吗,什么样的request更适合websocket,什么样的更适合rest
另外同时有这两个的好处就是减轻websocket压力吗?

类似的问题,什么样的request需要走API gateway,什么样的可以直接和某个server (比如dropbox里的block server)communication?

API gateway 所有的 Request 都要经过的,是 Request 到服务器端的第一个阶段。
Websocket 适合用来处理以下情况

  • 需要从服务器向客户端 Push
  • 服务器和客户端交流频繁

有的时候即有 Websocket 又有普通 HTTP Request 是因为有多个不太相关的 Microservice,互相之间不需要有联系,那么不必强求那个不需要用 Websocket 的 Microservice 一定要走 Websocket 通道。

如果websocket需要经过api gateway, 那么这个websocket是怎么做auth的?我理解就是第一次连接的时候websocket要过api gateway需要做auth 连上以后就带个author token可以了?

不知道可不可以提供个关于auth更具体的实现例子 ?

谢谢

这是个 websocket 协议级别的问题了,在通讯协议从 HTTP 升级到 Websocket 之后,API gateway 会建立一个快速通道,只是单纯 forward traffic。这跟 Auth 没有关系。