Kafka 的故障安全机制

Fail safe mechanism for Kafka

我正在处理写入 Kafka 队列的应用程序,该队列由其他应用程序读取。当我由于网络或其他原因无法在Kafka上发送消息时,我需要在Kafka宕机期间将消息写入其他地方,例如Oracle或本地文件系统,这样我就不会丢失宕机时产生的消息time.Problem 用 oracle 或其他 DB 是否也可以下降。关于如何在 Kafka 停机期间实现故障安全有什么建议吗?

每天生成的消息数量约为 20-25 百万条。对于停机期间存储的消息,我计划让批处理作业在目标应用程序再次启动后将它们重新发送到目标应用程序。

谢谢

您可以将这些消息推送到基于云的消息服务,例如 SQS. It supports around 3K messages per second

还有一个 connector 允许您直接将消息推回 Kafka,没有其他麻烦。

如果您无法将数据导出本地网络,那么 RabbitMQ 实例集群可能会有所帮助,尽管它不是即插即用的解决方案。