yin*_*ing 6 java queue messaging apache-kafka
任何人都可以在日志记录方面比较 kafka、编年史队列和干扰器之间的底层设计和性能?似乎 kafka 拥有大多数用户,但不要避免 GC。
我认为您可能对 Kafka 在日志管道中的使用方式感到困惑 - 通常它用于将日志从单个进程(本地磁盘)“传送”到 Elasticsearch 或 Splunk 等日志数据库,并且性能约为 100K单台机器的消息,例如参见https://www.confluence.io/blog/kafka-fastest-messaging-system/。您可能使用 Kafka 的原因是“保护”您的数据库免受突发影响,例如https://logz.io/blog/deploying-kafka-with-elk/。
Chronicle Queue 和 Disrupter 用于简单地将日志写入本地磁盘,并且可以达到 10M 行/秒的数量级,例如参见https://grobmeier.solutions/log4j-2-performance-close-to-insane-20072013。 html#.Ue02Z2RATzc。
您可能进一步想知道,如果只能以 100K/s 的速度写入磁盘,那么以 10M 行/s 的速度写入磁盘有何意义。
原因是,当发生不好的事情(或者正在调试)时,您可能只在很短的时间内写入 10M 行/秒,因此,如果您从磁盘读取到 Kafka,那么您的“读取器”将落后但一旦爆发结束,最终可以赶上。