Le middleware de messages comprend : 1. Kafka est principalement conçu pour les systèmes d'abonnement et de publication à haut débit, recherchant la vitesse et la persistance ; 2. RabbitMQ est un système de file d'attente de messages open source développé en utilisant le langage Erlang, basé sur l'AMQP ; Protocole Implémentation ; 3. RocketMQ est développé en Java pur et a un débit élevé.
Le middleware de messages comprend :
Kafka, RabbitMQ, RocketMQ
1 , Kafka
Kafka est le système de messagerie de publication-abonnement distribué open source de LinkedIn et est actuellement un projet Apache de haut niveau. Kafka est principalement conçu pour les systèmes d'abonnement et de publication à haut débit, recherchant vitesse et durabilité. Les messages dans Kafka sont composés de clés, de valeurs et d'horodatages. Kafka n'enregistre pas qui utilise chaque message. Il enregistre uniquement les messages non lus via des décalages. Dans Kafka, vous pouvez spécifier un groupe de consommateurs pour implémenter la fonction d'abonnement et de publication.
2. RabbitMQ
RabbitMQ est un système de file d'attente de messages open source développé en utilisant le langage Erlang et implémenté sur la base du protocole AMQP. . Les principales fonctionnalités d'AMQP sont orientées messages, orientées files d'attente, le routage (y compris point à point et publication/abonnement), la fiabilité et la sécurité. Le protocole AMQP est plus couramment utilisé dans les systèmes d'entreprise, dans des scénarios où la cohérence, la stabilité et la fiabilité des données sont très élevées et où les exigences de performances et de débit sont secondaires.
3. RocketMQ
RocketMQ est le middleware de messages open source d'Alibaba. Il est développé en Java pur et a un débit élevé, une haute disponibilité et convient à une utilisation à grande échelle. systèmes distribués. Fonctionnalités de l’application. L'idée de RocketMQ est issue de Kafka, mais ce n'est pas une copie de Kafka. Elle optimise la transmission et les transactions fiables des messages. Elle est actuellement largement utilisée dans le groupe Alibaba pour les transactions, les recharges, le streaming informatique, le push de messages, le streaming de journaux et la distribution de Binlog. et d'autres scénarios. Il n'y a pas beaucoup de langages clients pris en charge, actuellement Java et C++, dont C++ n'est pas encore mature
5 Comparaison de Kafka, RabbitMQ et RocketMQ
1. Rabbitmq est plus fiable que kafka, et kafka est plus adapté au traitement à haut débit d'E/S, tel que la collecte de journaux ELK. 2. Kafka a un débit élevé.Il adopte en interne le traitement par lots de messages et le mécanisme de zéro copie. . RabbitMQ est légèrement inférieur à Kafka en termes de débit. Leurs points de départ sont différents. RabbitMQ prend en charge la livraison fiable des messages, prend en charge les transactions et ne prend pas en charge les opérations par lots en fonction des exigences de fiabilité du stockage, le stockage peut utiliser la mémoire ou le disque dur.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!