Maison >Problème commun >Que sont les files d'attente de messages ?
Les files d'attente de messages incluent : 1. RabbitMQ, un système de messagerie d'entreprise réutilisable basé sur AMQP, est l'un des middlewares de messages les plus courants actuellement 2. ActiveMQ, une implémentation [fournisseur JMS] entièrement prise en charge de JMS1.1 et Spécifications J2EE1.4.
1 RabbitMQ
RabbitMQ a été publié en 2007 et est basé sur AMQP (Advanced Message Queuing Protocol A). Système de messagerie d'entreprise réutilisable, il s'agit actuellement de l'un des middlewares de messagerie les plus courants.
Caractéristiques principales :
Fiabilité : Fournit une variété de technologies qui vous permettent de faire un compromis entre performances et fiabilité. Ces technologies incluent des mécanismes de persistance, des confirmations de livraison, des confirmations d'éditeur et des mécanismes de haute disponibilité
Routage flexible : les messages sont acheminés via des commutateurs avant d'atteindre la file d'attente ; RabbitMQ fournit plusieurs types de commutateurs intégrés pour la logique de routage typique. Si vous avez des exigences de routage plus complexes, vous pouvez combiner ces commutateurs. Vous pouvez même implémenter votre propre type de commutateur et l'utiliser comme plug-in RabbitMQ
Cluster de messages : dans plusieurs RabbitMQ ; les serveurs d'un même LAN peuvent être regroupés et utilisés comme proxy logique indépendant
Haute disponibilité de la file d'attente : la file d'attente peut être mise en miroir sur les machines du cluster pour assurer la sécurité des messages malgré les problèmes matériels.
Prise en charge de plusieurs protocoles de file d'attente de messages ; le côté serveur est écrit en langage Erlang, prenant en charge tout ce que vous pouvez penser du langage de programmation ;
Interface de gestion : RabbitMQ dispose d'une interface utilisateur facile à utiliser qui permet aux utilisateurs de surveiller et de gérer de nombreux aspects du courtier de messagesActiveMQ est produit par Apache ActiveMQ est un support complet pour JMS1.1 et J2EE 1.4 Standard. Implémentation du fournisseur JMS. Il est très rapide, prend en charge plusieurs clients et protocoles linguistiques, peut être facilement intégré aux environnements d'applications d'entreprise et possède de nombreuses fonctionnalités avancées.
Principales caractéristiques : Conforme à la spécification JMS : la spécification JMS fournit de bonnes normes et garanties, notamment : distribution de messages synchrone ou asynchrone, distribution de messages une et une seule fois, distribution de messages réception et abonnement, etc. L'avantage de se conformer à la spécification JMS est que ces fonctionnalités de base sont disponibles quel que soit le fournisseur d'implémentation JMS utilisé ;3 RocketMQ
RocketMQ est un produit open source d'Alibaba Il est implémenté en langage Java. Il a fait référence à Kafka lors de la conception et en a réalisé une partie. sa propre fiabilité améliorée des messages est meilleure que celle de Kafka. RocketMQ est largement utilisé dans le groupe Alibaba pour les commandes, les transactions, la recharge, le streaming informatique, l'envoi de messages, le streaming de journaux, la distribution de binglogs et d'autres scénarios.
est un middleware de messages de modèle de file d'attente avec des performances élevées, une haute fiabilité, des caractéristiques élevées en temps réel et distribuées
Producteur, Consommateur, files d'attente ; peuvent tous être distribués ;
Le producteur envoie des messages à certaines files d'attente à son tour. L'ensemble de files d'attente est appelé Topic. Si le consommateur diffuse la consommation, une instance de consommateur consomme toutes les files d'attente correspondant à cela. Sujet. , si vous effectuez une consommation de cluster,
plusieurs instances de consommateur consommeront en moyenne l'ensemble de files d'attente correspondant à ce sujet
; ordre strict des messages ;
Fournir un mode d'extraction de messages riches ;
Capacité efficace d'expansion du niveau d'abonné ;
Mécanisme d'abonnement aux messages en temps réel ;
Capacité d'accumulation de messages au niveau d'un milliard ;
Moins de dépendance
4 Kafka
Apache Kafka est un système de publication et d'abonnement de messages distribués. Il a été initialement implémenté par LinkedIn en tant que système de journal de validation distribué (un journal de validation distribué) basé sur une conception unique, et est ensuite devenu une partie du projet Apache. Les systèmes Kafka sont rapides, évolutifs et durables. Ses caractéristiques de partitionnement, sa réplicabilité et sa tolérance aux pannes sont autant de bonnes caractéristiques.
Persistance rapide, la persistance des messages peut être effectuée avec une surcharge système O(1)
Haut débit, sur un ordinateur ordinaire Le débit ; un taux de 10 W/s peut être atteint sur le serveur ;
Un système entièrement distribué, courtier, producteur et consommateur, prend tous en charge la distribution de manière native et automatique et réalise automatiquement l'équilibrage de charge ; >
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!