从/到pubsub和websocket推送到客户端的实时转换

从/到pubsub和websocket推送到客户端的实时转换,websocket,google-cloud-dataflow,google-cloud-pubsub,Websocket,Google Cloud Dataflow,Google Cloud Pubsub,我需要从第三方提供商那里获取一些实时数据,对它们进行转换,然后通过WebSocket将数据推送到浏览器 从我收到数据到浏览器收到数据,整个过程不应超过200毫秒 我想再次使用pub/sub将数据流传输到pub/sub,其中websocket服务器将订阅消息并将消息推送到浏览器 这种方法正确吗?或者dataflow不是为这样的事情而设计的?dataflow是为可靠的流聚合和分析而设计的,而不是为保证整个系统的亚秒延迟而设计的。核心原语(如窗口和触发)允许在定义的数据窗口上可靠地处理流,尽管存在数据

我需要从第三方提供商那里获取一些实时数据,对它们进行转换,然后通过WebSocket将数据推送到浏览器

从我收到数据到浏览器收到数据,整个过程不应超过200毫秒

我想再次使用pub/sub将数据流传输到pub/sub,其中websocket服务器将订阅消息并将消息推送到浏览器


这种方法正确吗?或者dataflow不是为这样的事情而设计的?

dataflow是为可靠的流聚合和分析而设计的,而不是为保证整个系统的亚秒延迟而设计的。核心原语(如窗口和触发)允许在定义的数据窗口上可靠地处理流,尽管存在数据延迟和潜在的机器或管道错误。我们优化过的主要用例是,例如,在数据流上聚合和输出统计数据,为每个窗口输出可靠的统计数据,同时记录到磁盘以进行容错,并在触发前等待(如果需要),以适应延迟数据。因此,我们没有优化的是您所需的端到端延迟。

我明白了,谷歌云中还有其他东西可以用于此场景吗?我想我仍然会使用pub/sub,但是对于内存中的转换,我应该使用什么呢?并且说可以有600毫秒的延迟。这种做法是否仍然错误。有什么性能统计数据吗?嗯,在这篇文章中,他们说如果没有应用窗口,数据流的延迟很低,而且这个管道会将消息一对一地转换。不需要开窗,因为没有aggregations@chchrist根据转换的复杂程度,您只需在虚拟机上执行计算,甚至可以从任何vm调用。如果您知道数据流满足您的需求,我建议对其进行测试,看看它是否符合您的延迟要求。