使用 CNCF 的 Strimzi Kafka Bridge,我创建了一个小 API,可以使用 HTTP/1.1 协议与 Kafka 服务器交互。这对于请求-响应方案来说都是好事。但是,我的要求是,一旦我最好在长期 HTTP 连接上接收到事件(根据我的理解),就将在 Kafka 主题上接收到的事件流式传输到订阅的客户端(通过 Strimzi 桥)。不断地轮询网桥以获取消息并空手而归,这是对客户端资源的浪费。我希望 Kafka 服务器直接将这些事件流式传输到客户端。
我对 SSE 或 Websockets 或长轮询有点不确定。我对这些将数据流式传输到客户端的方法进行了大量阅读。但是,我无法弄清楚这些变化是在通信层还是应用层,还是两者兼而有之。
您是否只是使用传统的 HTTP 通信协议构建 API(无论技术如何)并以某种方式将其升级为使用 Websockets 还是应该将 Websockets 的使用嵌入到您的应用程序库中?
如果需要,我可以提供更多信息。Strimzi Kafka 桥网站没有提到任何关于“服务器端流”的内容,或者我可能误解了该工具的真正目的。