将Message Queue,Kafka,事件系统作为广告站点的“数据库”?

时间:2018-09-26 19:02:13

标签: redis apache-kafka rabbitmq

我正在与一个朋友一起研究使用事件队列/流系统(例如kafka或Rabbitmq)作为将广告存储在队列中而不是传统数据库中的方法的想法。

所需的系统将需要提供一个事件流,其中包含可过滤和可搜索的各个字段。允许流无限期或在一定时间内保留事件(例如,使广告过期)。我们只是不确定是否要使用消息队列/事件流,或者是否要使用传统数据库。

有人对此有经验吗,您会建议研究一个系统而不是另一个系统吗?

1 个答案:

答案 0 :(得分:1)

Kafka将支持用例,因为您可以将其视为消息队列而不是消息队列:

  • 您可以与不同的使用者多次阅读同一封邮件
  • 消息将一直保留到它们到期(可在服务器上配置)或压缩之前
  • (数据传播)有诸如镜像生成器(或自己的流应用程序)之类的工具,可在数据中心之间(或其中的某些部分,例如,如果您决定将某个属性放在一个主题中,而将另一个放在另一个主题中)复制数据

我不知道通用消息传递解决方案(例如RabbitMQ)是否适合您,因为消耗的消息会消失,因此您需要重新发布它们以保留它们(如果有多个使用者,则需要使用像扇出交换这样的RMQ逻辑,即消息被多播到多个队列(每个消费者)。