使用 React+Nodejs 和 Kafka 的社交网络应用程序架构



我对社交网络网站有一个想法,因为我目前正在学习网络开发,我认为这是一个练习的好主意。我已经用 React 制定了业务逻辑和前端设计。现在是后端的时候了,我正在努力。

我想创建一个 React+Nodejs 事件驱动的应用程序。立即使用卡夫卡似乎是合乎逻辑的。我浏览了各种 Kafka 架构示例,并有几个问题:

  1. 是否有可能创建一个应用程序,通过来自 Nodejs 和 React 的 API 调用来使用 Kafka 获取数据,反之亦然。而用户关系数据库只用于长期存储?

  2. 使用Kafka来处理所有事件,但与一些noSQL数据库(如Cassandra或HBase(通信更好。那么 NodeJS 似乎必须对它们进行 API 调用并将数据发送到 React。

  3. 我是否完全没有抓住重点,胡说八道?

这个问题的任何答案都将是基于意见的,所以我只是试图坚持事实。

  1. 完全可以创建这样的应用程序。此外,Kafka 基本上是一个分布式日志,因此您可以将其用作事件存储并从中构建您的状态。
  2. 这主要取决于您的架构,这里存在太多的差距,无法确定地回答这个问题 - 您正在保存什么样的数据?您需要回答什么样的问题?您的域模型是什么样的?您可以将 Kafka 用作存储或持久消息传递服务。
  3. 我不认为你偏离了目标,但也许你会选择大枪,而实际上你并不真正需要它们。卡夫卡非常适合大量事件。如果你正在构建新的东西,你就没有这个体积。也许从不需要太多操作复杂性的更简单的东西开始。

相关内容

最新更新