所以我从第一次听说卡夫卡的想法开始就喜欢它,但直到最近我才有机会接触它。我想我有一个可能适用的用例,但我想从更熟悉它的人那里得到一些意见。
基本上,我正在考虑一个通知系统,它可以在给定的时间段(比如 30 分钟)内批量处理消息,并将它们作为电子邮件、应用程序内通知或其他方式发送出去。我喜欢 Kafka 解决这个问题,主要是因为它固有的耐用性。我曾考虑使用更直接的消息队列,如 RabbitMQ、ActiveMQ、SQS 等,但我不喜欢它会迫使我在消费者端管理缓冲并冒丢失消息的风险。否则,我将不得不在二级持久存储中进行缓冲,这似乎违背了首先拥有队列的目的。
所以我的想法是将通知按用户分组,然后每 30 分钟消费者将读取最后 30 分钟的数据,聚合它,并发送由单个通知组成的摘要通知。
我有几个顾虑:
感谢您的反馈意见!
apache-kafka ×1