Kafka 不再是一个单纯的消息引擎系统,而是能够实现精确一次(Exactly-once)处理语义的实时流处理平台。
Kafka版本
-
Apache Kafka,也称社区版 Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。
-
Confluent Kafka,Confluent 公司提供的 Kafka。优势在于集成了很多高级特性且由 Kafka 原班人马打造,质量上有保证;缺陷在于相关文档资料不全,普及率较低,没有太多可供参考的范例。
-
CDH/HDP Kafka,大数据云公司提供的 Kafka,内嵌 Apache Kafka。优势在于操作简单,节省运维成本;缺陷在于把控度低,演进速度较慢。
Kafka监控软件
-
kafka manager
-
kafka eagle 国人开发
-
Logi-KafkaManager 滴滴开源
-
kafka tools 能够清晰的看到kafka存储结构
-
Kafka Offset Monitor 单集群
-
JMXTrans + InfluxDB + Grafana这种组合
常见问题
- 现在国内大部分用的都是apache kafka 是这样吧?
Confluent很少,创业公司多是CDH,大厂一般使用Apache Kafka,并且自己做了定制和改造
- Client/Broker 跨版本具体会带来什么性能影响呢?Kafka 在1.1版本后做了协议兼容,允许Client/Broker 协议不一致。如果生产上Client/Broker 协议不一致,除了新协议的功能上不兼容,性能上有什么影响呢?比如Client 是1.1而Broker 是2.3,会不会影响比如Zero copy 而导致性能下降?
功能上是兼容的,只是性能上可能会有影响,因为可能出现需要把消息格式向下转换成老版本的额外中间步骤,增加了延时,降低了TPS
- kafka性能测试工具有哪些?
没有特别好的工具。Kafka自己提供了kafka-pro
ducer-perf-test和kafka-consumer-perf-test脚本可以做producer和consumer的性能测试。另外LinkedIn开源了一款名为kafka-monitor的端到端系统测试工具,也可以用来测试Kafka集群end-to-end的性能。有些遗憾的是这个工具几乎没什么人维护了,你可以试试吧
-
有没有办法从部署环境中看出用的是社区版还是Confluent版本的Kafka?
的性能。有些遗憾的是这个工具几乎没什么人维护了,你可以试试吧 -
有没有办法从部署环境中看出用的是社区版还是Confluent版本的Kafka?