关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
两年前关门了。
改进这个问题
我正在和一个朋友研究使用事件队列/流系统的想法,比如kafka或rabbitmq,将广告存储在队列中,而不是传统的数据库。
所需的系统需要提供一个包含各种字段的事件流,这些字段是可过滤和可搜索的。允许流无限期地或在一定时间内保留事件(例如让广告过期)。我们只是不确定是使用消息队列/事件流,还是使用传统的数据库。
有没有人有过这样的经验,你会建议调查一个系统而不是另一个系统?
1条答案
按热度按时间bogh5gae1#
kafka将支持用例,因为您可以不将其视为消息传递队列,而是将其视为事务日志:
您可以对不同的用户多次重读同一条消息
消息将一直保留到过期(在服务器上可配置)或被压缩
(数据传播)有一些工具,例如mirror maker(或自己的流媒体应用程序),可以在数据中心(或其中的某个部分,例如,如果您决定将某些属性放在一个主题中,而将另一些属性放在另一个主题中)之间复制数据
我不知道通用消息传递解决方案(比如rabbitmq)是否适合您,因为使用的消息将消失,所以您需要重新发布它们以保留它们(在多个使用者的情况下,您需要使用rmq逻辑,比如fanout交换,消息将多播到多个队列,每个使用者一个)。