我最近开始学习apache kafka。在得到一些初步的想法后,我对kafka在应用程序架构中的位置感到困惑。
我的意思是,我们如何将它引入到以前只有三层的简单应用程序中。前端(安卓应用),后端(Node.js),MySQL。用户可以从应用程序创建帖子,应用程序将调用node.js上的端点,并将帖子存储在数据库中。
在这个简单,直截了当的架构中,kafka还会添加什么额外的东西?它将如何集成?
发布于 2021-10-27 20:01:16
让我们举一个例子--需要停机的数据库升级。
如果您的NodeJS应用程序在此期间无法连接到数据库,但可以成功地将写入Kafka,会发生什么情况?(您需要重写Node应用程序以写入Kafka,而不是数据库。)
在这种情况下,当您进行数据库维护时,Kafka充当缓冲区。
这只是一个例子,但您也可以将Kafka主题用于MySQL和Elasticsearch (或其他数据库),以支持其他用例,如搜索分面或日志分析。除了将多个事件类型发布到Kafka之外,您不需要编辑任何上游Node代码来写入多个下游系统。
https://stackoverflow.com/questions/69743523
复制相似问题