向一个或多个web浏览器发送数据库更新的可靠快速方法

向一个或多个web浏览器发送数据库更新的可靠快速方法,web,browser,websocket,long-polling,ajax-polling,Web,Browser,Websocket,Long Polling,Ajax Polling,向一个或多个web浏览器发送数据库更新的可靠快速方法是什么 我有一个Postgres数据库,其中一些表会随着时间的推移而更新。更新范围为每秒0到1000次更新。当一个表被更新时,我希望一对多的web客户端能够尽可能快速高效地接收更新。每个更新少于1K。UDP将是最快的,但它需要专用客户端,并且可能会发生数据丢失 TCP/IP保证数据完整性,这意味着您可以将SSE或WebSocket用于浏览器客户端。但是,它要求为每个客户端发送数据 SSE仅支持文本数据,是单向的。它还施加了其他限制,并使用了浏览

向一个或多个web浏览器发送数据库更新的可靠快速方法是什么


我有一个Postgres数据库,其中一些表会随着时间的推移而更新。更新范围为每秒0到1000次更新。当一个表被更新时,我希望一对多的web客户端能够尽可能快速高效地接收更新。每个更新少于1K。

UDP将是最快的,但它需要专用客户端,并且可能会发生数据丢失

TCP/IP保证数据完整性,这意味着您可以将SSE或WebSocket用于浏览器客户端。但是,它要求为每个客户端发送数据

SSE仅支持文本数据,是单向的。它还施加了其他限制,并使用了浏览器的每域连接限制之一(浏览器通常限制为每个域6个HTTP连接)

WebSocket是双向的,具有更大的灵活性。此外,它们不会降低浏览器的每域连接限制

就性能而言,轮询确实是一个坏主意,这是由于开销和冗余请求的可能性

简短的搜索将获得更多信息。关于这个问题以前有人问过很多问题

这里有一个关于性能的讨论,还有一个关于性能的概述


这些应该让您开始。

那么您希望每台客户端每秒发送高达1Mb的数据吗。。。我会重新考虑。在1K客户端上,每秒1Gb。@Myst我很抱歉没有说得更清楚。我可以完全控制每秒的更新和客户端数量。每秒最多有1000次更新。超过99%的时间更新将少于每秒10次。客户端的数量将限制为100个同时连接。