Queue et Topic sont deux modèles de messagerie pris en charge par JMS : 1. Modèle de messagerie en file d’attente point à point (PTP) : Avec ce modèle de messagerie, une application (c’est-à-dire le producteur de messages) peut envoyer un message à une autre application (c’est-à-dire le consommateur de messages). Dans ce modèle de livraison, le type de destination de message est une file d’attente (c’est-à-dire que l’instance de classe d’implémentation de l’interface de destination est créée par l’instance de classe d’implémentation de l’interface de session en appelant sa méthode createQueue et en passant le nom de la file d’attente). Le message est d’abord livré à une file spécifique côté serveur de messages, puis à un consommateur qui écoute cette file. La même file peut associer plusieurs producteurs et consommateurs de messages, mais un message ne peut être livré qu’à un seul consommateur de messages. Si plusieurs consommateurs de messages écoutent les messages de la file d’attente, le serveur de messages JMS détermine quel consommateur de messages reçoit le message suivant selon le principe du « premier arrivé, premier arrivé ». Si aucun consommateur de messages n’écoute la file d’attente, le message reste dans la file jusqu’à ce que le consommateur de messages se connecte à la file. Ce modèle de messagerie est un modèle paresseux ou de sondage au sens traditionnel. Dans ce modèle, les messages ne sont pas automatiquement envoyés au consommateur de messages, mais sont demandés depuis la file d’attente par ce dernier. 2. Modèle de messagerie de sujets publié/abonnement (publication/sous-forum) : Avec ce modèle de messagerie, les applications peuvent envoyer un seul message à plusieurs consommateurs de messages. Dans ce modèle de livraison, le type de destination du message est le topic (c’est-à-dire que l’instance de la classe d’implémentation de l’interface de destination est créée par l’instance de classe d’implémentation de l’interface Session en appelant sa méthode createTopic et en passant le nom du sujet). Le message est d’abord publié sur un sujet spécifique dans le serveur de messages par le producteur du message, qui le transmet ensuite à tous les consommateurs abonnés au sujet. Les objectifs thématiques soutiennent également les abonnements à long terme. Un abonnement à long terme signifie que le consommateur est inscrit à l’objectif du sujet, mais il peut être inactif lorsque le message atteint la destination. Le message sera reçu lorsque le consommateur sera de nouveau actif. Si aucun des consommateurs n’est inscrit à une destination thématique, le sujet ne conserve les messages que pour les consommateurs inactifs qui se sont abonnés à long terme. Contrairement au modèle de messagerie PTP, le modèle de messagerie pub/sub permet à plusieurs abonnés de sujets de recevoir le même message. JMS conserve le message jusqu’à ce que tous les abonnés au sujet le reçoivent. Le modèle de messagerie pub/sub est essentiellement un modèle push. Dans ce modèle, les messages sont automatiquement diffusés, et les consommateurs de messages n’ont pas besoin de demander activement ou de sonder les sujets pour obtenir de nouveaux messages. Les différences spécifiques sont les suivantes :
type
| Sujet
| File d’attente | Aperçu
| Publier S’abonner Envoyer des messages d’abonnement
| Point à point Point Point
| Il n’y a pas d’État
| Les données thématiques sont sans état par défaut.
| Les données de file d’attente sont enregistrées par défaut sous forme de fichier sur le serveur MQ, par exemple, Active MQ est généralement stockée sous $AMQ_HOME\data\kr-store\data. Il peut également être configuré comme un magasin de base de données.
| Garantie d’intégrité
| Il n’y a aucune garantie que chaque donnée publiée par l’éditeur sera acceptée par l’abonné.
| La file d’attente garantit que chaque donnée peut être reçue par le récepteur.
| si le message sera perdu
| De manière générale, lorsqu’un éditeur publie un message sur un sujet, seul le subreddit qui écoute l’adresse du sujet peut recevoir le message. S’il n’y a pas de sous-titres qui écoutent, le sujet est perdu.
| L’expéditeur envoie un message à la file cible, et le récepteur peut recevoir des messages sur cette file de manière asynchrone. Les messages sur la file ne seront pas perdus s’il n’y a pas de destinataire pour les récupérer pour le moment.
| Politique de réception des publications de messages
| Politique de publication et de réception de messages un-à-plusieurs, plusieurs sous-forums écoutant la même adresse de sujet peuvent recevoir des messages envoyés par l’éditeur. Le sub reçoit la notification au serveur mq
| Politiques de publication et de réception de messages un à un, les messages envoyés par un expéditeur ne peuvent être reçus que par un seul destinataire. Après la réception du destinataire, le serveur MQ informe le serveur MQ qu’il a été reçu, et le serveur MQ supprime ou prend d’autres mesures sur les messages dans la file d’attente.
|
|