Question

Question fondamentale : quelles plates-formes et langages Apache Kafka prend-il actuellement en charge ?

Était-ce utile?

La solution

Kafka est écrit à Scala, ce qui signifie qu'il s'exécute sur la JVM, vous pouvez donc exécuter efficacement n'importe quel système d'exploitation qui prend en charge la JVM.Cependant, les courtiers extraient une énorme augmentation de performances en utilisant le cache tampon du noyau OS S.Je ne sais pas à quel point cela est bon avec un système non UNIX comme Windows.La base de code source de Kafka fournit une prise en charge de la première classe pour les clients SCANA et Java.Vous pouvez également trouver des clients producteurs et consommateurs dans des langues comme PHP, C ++, Python, etc. dans le répertoire de contributions.

Autres conseils

Apache Kafka fonctionne bien et est plus stable et performant sous Linux (soit Linux nu, machines virtuelles Linux dans des cloud privés ou publics, ou conteneurs Docker basés sur Linux).Kafka est connu pour fonctionner sous Windows, mais la plupart des fournisseurs qui prennent en charge commercialement Kafka n'étendent pas leur support à Windows pour les serveurs de production, il est donc « pris en charge par la communauté » par la communauté Kafka.Kafka fonctionne également très bien sur macOS pour le développement.

La distribution Apache Kafka inclut uniquement la prise en charge des clients Java et Scala, mais la communauté Kafka dans son ensemble a créé une longue liste de clients pour d'autres langages.Une bonne liste des options disponibles pour les clients se trouve sur le wiki Apache Kafka ici : https://cwiki.apache.org/confluence/display/KAFKA/Clients

Vous constaterez que pour certains langages (comme C#/.Net, Python ou Go), il existe 2 ou 3 options, voire plus, pour les bibliothèques clientes.Certains sont à jour avec les dernières modifications du protocole filaire Kafka telles que la sémantique Exactly-Once et les en-têtes de message ajoutés dans Apache Kafka 0.11 ou les horodatages ajoutés dans la version 0.10, ou les améliorations de sécurité et la nouvelle API grand public ajoutées dans la version 0.9, et d'autres ne le sont pas.Certains disposent de l'ensemble complet des fonctions/méthodes fournies par Java (comme seek(), la gestion des groupes de consommateurs ou les intercepteurs), mais d'autres non.Certains sont écrits uniquement dans le langage cible et d'autres sont des wrappers dans la bibliothèque librdkafka C/C++.Certains sont commercialement pris en charge par un fournisseur et d'autres non. Choisissez donc en fonction de vos besoins en termes de fonctionnalités, de stabilité, d'environnement d'exécution et de prise en charge.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top