带有React + Nodejs和Kafka的社交网络应用架构

时间:2019-04-19 06:10:27

标签: node.js reactjs apache-kafka

我有一个社交网站的想法,并且由于我目前正在学习Web开发,所以我认为这是一个好主意。我已经使用React制定了业务逻辑和前端设计。现在是时候后端了,我很挣扎。

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

  1. 是否可以创建一个应用程序,该应用程序通过从Node.js到React的API调用,使用Kafka来获取数据。和用户关系数据库仅用于长期存储吗?

  2. 使用Kafka处理所有事件,但与某些NoSQL数据库(如Cassandra或HBase)进行通信是否更好?然后看来,NodeJS将不得不对其进行API调用并将数据发送到React。

  3. 我完全忘记了重点并且在胡说八道吗?

1 个答案:

答案 0 :(得分:0)

该问题的任何答案都将基于观点,因此我将尝试坚持事实。

  1. 完全有可能创建这样的应用程序。此外,Kafka基本上是分布式日志,因此您可以将其用作事件存储并从中建立状态。
  2. 这主要取决于您的体系结构,并且这里有太多空白无法确定地回答这一问题-您要保存哪种数据?您需要回答什么样的问题?您的域模型是什么样的?您可以将Kafka用作商店或持久消息服务。
  3. 我不认为您没有能力,但也许您是在追求真正的大枪,而实际上您并不需要它们。卡夫卡非常适合举办大量活动。如果要构建新的东西,则没有足够的容量。也许从不需要太多操作复杂性的简单事物开始。