2

基本问题,Apache Kafka 目前支持哪些平台和语言?

4

2 回答 2

5

Kafka 是用 Scala 编写的,这意味着它运行在 JVM 上,因此您可以有效地运行在任何支持 JVM 的操作系统上。但是,代理通过使用操作系统的内核缓冲区缓存来获得巨大的性能提升。我不确定这对于像 Windows 这样的非 unix 系统有多好。kafka 源代码库为 Scala 和 Java 客户端提供一流的支持。您还可以在 contrib 目录下找到使用 Php、C++、python 等语言的生产者和消费者客户端。

于 2012-08-10T08:24:46.883 回答
4

Apache Kafka 运行良好,在 Linux(裸机 Linux、私有云或公共云中的 Linux VM 或基于 Linux 的 docker 容器)上运行良好且性能最稳定。众所周知,Kafka 可以在 Windows 上运行,但大多数商业上支持 Kafka 的供应商并未将其支持扩展到生产服务器的 Windows,因此它是 Kafka 社区的“社区支持”。Kafka 在 macOS 上也可以很好地运行以进行开发。

Apache Kafka 发行版仅包括对 Java 和 Scala 客户端的支持,但更大的 Kafka 社区已经为其他语言创建了一长串客户端。此处的 apache kafka wiki 上有一个很好的客户端可用选项列表:https ://cwiki.apache.org/confluence/display/KAFKA/Clients

您会发现对于某些语言(如 C#/.Net、Python 或 Go),客户端库有 2 或 3 个甚至更多选项。有些是最新的 Kafka 有线协议更改,例如 Exactly-Once Semantics,以及在 Apache Kafka 0.11 中添加的消息标头或在 0.10 中添加的时间戳,或在 0.9 中添加的安全增强和新的消费者 api,以及其他人不是。有些拥有 Java 中提供的全套功能/方法(如 seek()、消费者组管理或拦截器),但有些则没有。有些是纯粹用目标语言编写的,有些是 librdkafka C/C++ 库中的包装器。有些由供应商提供商业支持,有些则不支持,因此请根据您在功能、稳定性、执行环境和可支持性方面的需求进行选择。

于 2017-08-12T00:31:38.707 回答