Je pense qu'une chose qu'il faut noter dans une discussion sur les courtiers à utiliser (et quand Kafka est évoqué) est que le Benchmark Kafka qui est fréquemment référencé montre la limite supérieure de tout ordinateur distribué moderne. Les courtiers actuels ont tous à peu près la même capacité totale en Mo/s. Kafka se débrouille extrêmement bien avec les petits messages (10-1024 octets) par rapport aux autres courtiers, mais se limite toujours à environ 75 Mb/s (par courtier).
Il y a souvent une comparaison entre des pommes et des oranges, notamment lorsqu'on parle de "clustering". ActiveMQ et d'autres courtiers d'entreprise regroupent la publication des messages et le suivi des abonnements des consommateurs. Kafka regroupe la publication et demande au consommateur de suivre l'abonnement. Cela semble minime, mais la différence est significative.
Tous les brokers ont les mêmes problèmes de contre-pression - Kafka peut faire une "LAZY PERSISTENCE" où le producteur n'attend pas que le broker se synchronise avec le disque c'est bon pour beaucoup de cas d'utilisation, mais probablement pas le scénario "I-care-about-every-single-message" que ppatierno mentionne dans son diaporama.
Kafka est vraiment bon pour la mise à l'échelle horizontale pour des choses comme le traitement de données volumineuses à partir de petits messages. ActiveMQ est plus idéal pour la classe de cas d'utilisation fréquemment appelée messagerie d'entreprise (ce n'est qu'un terme, cela ne signifie pas que Kafka n'est pas bon pour l'entreprise) -- données transactionnelles (bien que Kafka l'ajoute). kiosque. magasin de détail. store and forward. traversée de dmz. publication de centre de données à centre de données. etc.
3 votes
Duplicata possible de ActiveMQ ou RabbitMQ ou ZeroMQ ou