繁体   English   中英

将前端(Vue.js、React 和 Angular)与 Kafka 作为事件驱动架构微服务的一部分进行集成

[英]Integrating Frontend (Vue.js, React and Angular) with Kafka as part of event driven architecture microservices

这是一个与架构相关的问题。 我正在探索一种新的架构/范式(实时事件驱动),其中前端(可以是 vue.js、angular 或 react)调用与分布式流媒体平台(如 kafka)集成的多个休息服务。

我很难把它放在一起。 原因如下。

  1. 对于前端的简单操作,不涉及状态更改,HTTP GET API 调用就足够了——不需要 Kafka。

  2. 对于状态更改的操作,例如更新某些内容,需要 HTTP POST 调用——这就是 Kafka 可能派上用场的地方。

但是,我也知道有人使用 websockets 来解决这个问题。

那么我如何才能充分利用 Kafka 来使前端和后端成为真正的事件驱动架构?

您将需要一个三层应用程序。

Kafka 是用于数据存储的后端层。

存在一些 API 层来执行 RPC。 Kafka Streams 交互式查询可用于为 get-by-id 类型查询创建键值存储 KTables。

您的 API 层还可以运行一个活动的 Kafka 消费者线程,该线程将消息推送到 websocket 或作为 SSE 消息。

您的 Web 应用程序将打开并订阅 websocket 并使用 JS 更新 DOM。

站点上的用户输入可以将 POST 或 GET 发送回 API。

API 层将轮询或推送到(其他)Kafka 主题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM