Quels sont les avantages et les inconvénients de Kafka sur Apache Pulsar
Yahoo développé Pulsar, pub-sub système de messagerie et l'a rendu open source. Son désormais Apache incubation de projet. Depuis Kafka est également utilisé pour le même but. Envie de savoir, de grands plus et moins de points de Kafka sur Pulsar.
Vous devez vous connecter pour publier un commentaire.
J'ai joué un peu avec les deux ces derniers temps, et voici ce que j'ai recueillies.
Neutre:
Pro pulsar:
Pro Kafka:
Lire aussi:
Apache Kafka est plus mature (il a été autour depuis longtemps) et a un plus haut niveau de l'Api (c'est à dire KStreams). C'est de la maturité, cependant, limite la fluidité et la souplesse c'est à dire ~500 ouvrir PR sur github
Apache Pulsar a étudié en profondeur les décisions de conception de Apache Kafka, et a intégré un design amélioré et un ensemble de très excitant: c'est à dire l'idée de namespacing sujets, et en permettant à ACL ou de quotas pour être appliquée sur un nom-niveau d'espace semble d'une telle profounding bonne idée, afin de fournir de meilleurs multi-tenancy de soutien. Quelques autres fonctionnalités intéressantes de Pulsar est le géo-réplication, ainsi que la unification de la mise en attente et le streaming
Nous avons besoin d'une plate-forme de streaming avec la persistance des sujets et raisonnable, de latence et de débit élevé. Récemment, nous avons évalué si nous devrions aller avec Kafka ou Pulsar et contrairement à @nha nous sommes maintenant en faveur de Apache Kafka. Voici nos résultats:
Pulsar - Pros
Pulsar - Cons
Kafka - Pros
Kafka - Cons
lastOffset -1
.source
Pulsar, l'Apache Software Foundation nouveau projet pour atteindre le top niveau de l'état, est le dessin d'un lot de comparaison de Kafka, un autre ASF projet.
Pulsar est une très évolutif, à faible latence, plate-forme de messagerie en cours d'exécution sur le matériel de base. Il fournit une simple pub-sub et la file d'attente de la sémantique sur les rubriques, léger calculer cadre, automatique curseur de gestion pour les abonnés, et de la croix-centre de données de réplication.
Pendant ce temps, l'2018 Apache Kafka Rapport, qui a interrogé plus de 600 utilisateurs, données trouvées des pipelines et de messagerie, les deux principales utilisations de la technologie. Il a trouvé l'utilisation croissante avec l'augmentation de microservices architectures.
“Il y a un grand chevauchement dans le cas d'utilisation pour les deux systèmes, mais les dessins originaux ont été très différentes”, a déclaré Matteo Merli, l'un de ses créateurs qui ont constitué depuis des Streamlio, une startup proposant un rapide de plate-forme de données.
Yahoo créé Pulsar comme un seul multi-locataire système comme une solution à ses problèmes avec plusieurs systèmes de messagerie et de plusieurs équipes de les déployer.
Il a été publié en open source en 2016 et entra à l'ASF incubateur en juin 2017. Pendant près de quatre ans, il a été utilisé dans Yahoo applications de Messagerie, de la Finance, le Sport, les Gémeaux Annonces et Sherpa, Yahoo distribué clé-valeur de service.
Dans un billet de blog, co-fondateur Sijie Guo résumer Pulsar vs Kafka de cette façon:
“Apache Pulsar combine une haute performance de streaming (qui Apache Kafka poursuit) et flexible traditionnelles files d'attente (qui RabbitMQ poursuit) dans un programme de messagerie unifiée modèle et de l'API. Pulsar vous offre un système unique pour la diffusion en continu et la file d'attente, avec la même haute performance, en utilisant une API unifiée.”
Dit Merli: “Il y a des différences entre le streaming et la file d'attente; il y a beaucoup de cas d'utilisation où vous avez besoin de l'un ou de l'autre, mais la plupart des gens ont besoin à la fois pour les différents cas d'utilisation.”
Deux-Couches De L'Architecture
Une à deux couches de la conception est la clé de la Pulsar, Merli dit. Il y a un apatride couche de courtiers, de recevoir et de transmettre des messages, et avec un état de la couche de persistance, avec un ensemble de Apache Comptable nœuds de stockage appelé les bookmakers qui fournissent à faible latence pour le stockage durable.
Pulsar a été construit sur l'idée d'avoir des données solides garanties, Merli dit. Il a été conçu pour le partage de la consommation, tandis que Kafka n'était pas. Et Pulsar permet aux utilisateurs de configurer une période de conservation pour les messages, même après tous les abonnements de les consommer.
Son architecture en couches et le segment centrée sur le stockage de fournir des avantages clés:
Vous pouvez mettre à l'échelle les courtiers ou de la couche de stockage de manière indépendante.
Depuis les courtiers sont apatrides, un sujet peut se déplacer rapidement à d'autres courtiers. Qui ouvre une voie efficace pour équilibrer le trafic à travers les courtiers.
Peut avoir plusieurs consommateurs sur la même partition, et vous pouvez en ajouter autant que vous voulez.
Puisque aucune donnée n'est stockée localement, il élimine la nécessité pour copier les données de la partition lors de l'expansion de la capacité, ni le rééquilibrage est nécessaire. Lorsque partitionnée topic est créé, Pulsar partitionne automatiquement les données dans un agnostique façon pour les consommateurs et les producteurs.
Le courtier envoie un message de données à de multiples Comptable des noeuds, ce qui écrire les données dans un write-ahead log et aussi de garder une copie de la mémoire. Avant le nœud envoie un accusé de réception, le journal est la force-écrit pour le stockage stable, ce qui assure la rétention, même si vous perdez la puissance. Rubrique partitions peut évoluer jusqu'à la capacité totale de l'ensemble de la Comptable de cluster, et vous pouvez l'échelle d'un cluster par simple ajout de nœuds.
Depuis son entrée dans l'incubateur, l'accent a été mis sur le rendant plus facile d'obtenir commencé avec la Pulsar .
La Version 2.0 de Pulsar a été publié en juin, y compris un “flux " maternelle” la capacité de traitement appelé Pulsar Fonctions qui permet aux utilisateurs d'écrire des fonctions de traitement en Java ou en Python pour les données comme il se déplace à travers le pipeline. La Version 2.2 sortira bientôt, qui mettra en vedette interactive SQL d'interrogation.
Pulsar offre de multiples langues et les liaisons de protocole, y compris Java, C++, Python, et les WebSockets, ainsi que d'un Kafka-compatible API.
Pour en savoir plus : Apache Pulsar : Est-il un KAFKA Killer?
Apache Pulsar : Est-il un KAFKA Killer? Écrit Par Bhagwan s. Soni
POURQUOI devrions-nous choisir Apache Pulsar plus de Kafka?
Apache Pulsar est une Entreprise Édition de PubSub, à l'Origine développé par Yahoo et désormais prise en charge par Apache Software Foundation. Apache Pulsar est en cours d'exécution sur les systèmes de Production de durer plus de 3 ans et l'a prouvé la stabilité.
Apache Pulsar couvre presque toutes les fonctionnalités dont Kafka nous offre, peut-être avec différents noms. Pulsar possède de nombreuses fonctionnalités, mais je tiens à souligner certains d'entre eux qui vont nous aider à faire la différence avec Kafka -
1} Apache Pulsar vous offre 3 types d'abonnement sur le sujet:
Un} Exclusif
— Seulement un consommateur de consommer les données à partir d'une Rubrique
B} Partagé
— Plusieurs Consommateurs consomment les données à partir d'une Rubrique
C} Basculement
— Plus d'un Consommateur, mais à un moment donné de temps que l'on va consommer les données.
2} Chaque espace de noms peut avoir un ou plusieurs sujets
3} un Fort soutien pour Multitanency
4} réplication des Données sur plusieurs cluster
5} message Fort de la durabilité de soutien contre la perte de données