我是否应该将邮件保存到apache kafka [关闭]

问题描述 投票:0回答:1
[我们尝试制作类似于Slack的应用,并且我们正在考虑使用apache kafka。

我的主要问题是:我们应该将用户的消息存储到kafka还是将它们存储在POSTGRES之类的数据库中?

我已经读过kafka也可以用作数据库,但我不知道这种方法的优缺点。如果您选择将消息存储在数据库中(postgres),您是否首先从kafka中“读取”邮件,然后将其保存到数据库中(postgres),反之亦然?

postgresql apache-kafka streaming distributed-system
1个回答
0
投票
您不应该将Apache Kafka用作数据库。

Kafka旨在充当消息队列或流平台,而不是数据库。以下是一些要考虑的事项:

    Kafka将最新消息保留在内存中,使Kafka可以快速移动。从Kafka检索旧数据要昂贵得多,因为它需要Kafka从磁盘读取。
  • 许多数据库将最近的查询保留在内存中,因此,如果要查询类似的性能,则会对其进行优化
  • Kafka旨在在特定的时间间隔后使数据过期,这可能是数据库不希望使用的东西
  • Kafka缺少像SQL数据库那样的表结构
  • 默认情况下,Kafka可能会多次发送邮件和/或无序发送邮件。数据库不会这样做。
© www.soinside.com 2019 - 2024. All rights reserved.