多种事件类型的单一服务器发送事件连接
Single Server-Sent-Event connection for multiple event types
我要向用户发送 5 种不同类型的通知 A, B, C, D and E
。 A、B、C、D、E之间没有关系
给你一个想法,A 可以是 facebook like
,B 可以是 new friend request
等
我想知道是否可以为所有这些通知使用单个 SSE 连接,还是我应该为每种事件类型维护一个连接?
你能分享一些关于这方面的最佳做法吗?
使用单个 SSE 连接。
缩放的正常限制是 SSE 连接使用的套接字。所以最好只有一个连接。您不会在客户端出现更多的逻辑或复杂性:一个根据消息类型调用函数的消息处理程序 (A/B/C/D/E),而不是五个消息处理程序。
对于向同一个域打开大量 SSE 连接也有一些浏览器限制,因此单个连接可以避免命中任何一个。
如果使用 HTTP/2,您可能会争辩说多路复用意味着实际上只有一个套接字连接。但是在没有任何强有力的理由拥有多个套接字的情况下,我仍然会始终使用单个 SSE 连接,即使超过 HTTP/2.
我要向用户发送 5 种不同类型的通知 A, B, C, D and E
。 A、B、C、D、E之间没有关系
给你一个想法,A 可以是 facebook like
,B 可以是 new friend request
等
我想知道是否可以为所有这些通知使用单个 SSE 连接,还是我应该为每种事件类型维护一个连接?
你能分享一些关于这方面的最佳做法吗?
使用单个 SSE 连接。
缩放的正常限制是 SSE 连接使用的套接字。所以最好只有一个连接。您不会在客户端出现更多的逻辑或复杂性:一个根据消息类型调用函数的消息处理程序 (A/B/C/D/E),而不是五个消息处理程序。
对于向同一个域打开大量 SSE 连接也有一些浏览器限制,因此单个连接可以避免命中任何一个。
如果使用 HTTP/2,您可能会争辩说多路复用意味着实际上只有一个套接字连接。但是在没有任何强有力的理由拥有多个套接字的情况下,我仍然会始终使用单个 SSE 连接,即使超过 HTTP/2.