将前端(vue.js、react和angular)与kafka集成为事件驱动架构微服务的一部分

v6ylcynt  于 2021-06-05  发布在  Kafka
关注(0)|答案(1)|浏览(1335)

这是一个与体系结构相关的问题。我正在探索一种新的体系结构/范例(实时事件驱动),其中前端(可以是vue.js、angular或react)调用与分布式流媒体平台(如kafka)集成的多个rest服务。
我很难把这些放在一起。原因如下。
对于前端的简单操作(不涉及状态更改),http get api调用就足够了—不需要kafka。
对于状态发生变化的操作,例如更新某些内容,需要HTTPPOST调用——这就是kafka可能派上用场的地方。
不过,我也知道有人用websockets来解决这个问题。
那么,如何充分利用kafka,使前端和后端成为真正的事件驱动架构?

wgeznvg7

wgeznvg71#

你需要一个三层应用程序。
kafka是数据存储的后端层。
存在一些api层来执行rpc。kafka streams交互式查询可用于为get by id类型查询创建键值存储ktable。
您的api层还可以运行活动的kafka使用者线程,该线程将消息推送到websocket或作为sse消息。
您的web应用程序将打开并订阅websocket,并使用js更新dom。
网站上的用户输入可以发送post或返回api。
api层将轮询或推送(其他)kafka主题

相关问题