Quelle est la différence entre un canal de message et le message de la file d'attente elle-même?
Quelle est la différence entre un canal de message et un message de la file d'attente elle-même?
Ils sont des choses différentes. La file d'attente contient en fait des messages qui seront traitées (poussé à l'auditeur) dans la FIFO.
Un canal est un moyen par lequel les messages sont transmis.
Ce que signifie exactement? Dans un livre "l'Enterprise Integration Patterns" il dit:
Connecter les applications à l'aide d'un Message de Canal, où une application écrit des informations sur le canal et de l'autre on lit que les informations de la chaîne.
Est-ce à dire que ce canal de message en fait des résumés de la file d'attente à l'écart par le producteur et le consommateur du message? Mais il n'a vraiment pas le droit? Lorsqu'un producteur a à placer un message dans une file d'attente, il spécifie le gestionnaire de files d'attente et les noms de queue qu'elle veut se connecter.
Il y a aussi la notion de protocoles différents dans les canaux et formats de données différents dans les canaux où vous avez un canal séparé pour chaque protocole que vous utilisez peut-être et peut-être un canal séparé pour chaque format de données (XML, JSON, etc).
Cela permettrait de faciliter les différentes files d'attente à ramasser sur les différents canaux. Mais pourquoi ne pas appeler directement les différentes files d'attente pour les différents formats de données? Quel est exactement le rôle de la chaîne? Est-ce juste un lien?
Je suis complètement nouveau au MQM. J'ai été affecté à ce projet qui consiste à produire et à consommer les messages et je suis en train d'envelopper mon esprit autour de cette.
OriginalL'auteur alokraop | 2015-07-31
Vous devez vous connecter pour publier un commentaire.
D'étendre un peu sur Shashi réponse, veuillez garder à l'esprit que les EIP livre référencé parle de haut niveau de modèles de messagerie. Dans ce contexte, les auteurs ont besoin d'un terme générique pour le moyen par lequel les messages sont transférés entre deux points et a choisi le mot "canal".
Pour les fins de l'ouvrage de l'un canal relie les deux points de terminaison que déplacer les messages, les messages de transport du vendeur. Dans ce cas, un canal a des attributs qui sont des classes de service et de soutien de divers modèles. Il peut être 1-1, 1-plusieurs, plusieurs-1, de nombreuses de nombreuses, etc.
Si par exemple il est ZeroMQ, les extrémités sont deux peer-to-peer nœuds et il n'y a pas de moteur de messagerie entre eux. Pour IBM MQ l'une des extrémités est toujours le gestionnaire de file d'attente (un type de moteur de messagerie) et l'autre est une application ou un autre gestionnaire de file d'attente.
Basé sur cet exemple, il devrait être évident que canal comme utilisé dans le livre et canal que définis par la messagerie de transport sont à différents niveaux d'abstraction. Tel qu'utilisé par la MQ, un canal est un ensemble de paramètres de configuration qui permet de définir un chemin de communication et comprend les attributs de type
CONNAME
,MAXMSGL
, les réglages de paramètres, les paramètres SSL, etc. Une fois qu'un MQ canal est démarré, vous pouvez voir une instance en cours d'exécution par l'affichage de l'état du canal. Dans le cas deCLUSRCVR
,SVRCONN
, et (moins souvent)RCVR
ouRQSTR
canaux, vous pouvez voir plusieurs instances de la même chaîne actifs en même temps.Si vous êtes toujours avec moi, vous avez peut-être remarqué que la MQ usage du terme de canal décrit toujours un ou plusieurs point-à-point des connexions réseau alors que le PROGRAMME du livre de l'utilisation du terme canal est traduit comme "la chose qui se déplace des messages entre les points de terminaison d'application." Considérer que les deux applications connectées directement au gestionnaire de file d'attente en utilisant la mémoire partagée serait à l'aide d'un canal tel que défini dans EIP mais pas que le terme est défini par IBM MQ.
Basé sur cet exemple, il devrait être clair que le PSG version du terme canal comprend le gestionnaire de file d'attente et tout MQ connexions entre le gestionnaire de files d'attente et les points de terminaison d'application.
Pour résumer:
J'espère que cela clarifie la terminologie plutôt que la confusion des choses plus. Je mettrai à jour basé sur des commentaires si nécessaire.
Merci @T. Rob pour clarifier davantage.
En outre, dans le PEI livre que vous pouvez lire: "les Canaux, également appelé files, il est logique de voies qui relient les programmes et transmettre des messages.". Aussi, dans d'autres chapitres, avec des exemples, vous pouvez voir que la "Dans .NET, le MessageQueue classe implémente un point-à-point des canaux" ou que, dans un exemple pour IBM Websphere MQ pour la Garantie de Livraison, un canal est configuré pour être persistants en utilisant
DEFINE Q(myQueue) PER(PERS)
.OriginalL'auteur T.Rob
Un message de la file d'attente stocke les messages envoyés par les producteurs afin qu'ils puissent être livrés aux consommateurs.
Un canal est les médias ou de la liaison de communication pour la transmission de messages à partir de
producteur de file d'attente,
la file d'attente à la consommation,
ou une file d'attente dans un gestionnaire de file d'attente à une autre file d'attente dans un autre gestionnaire de file d'attente.
Il y a deux types de canaux:
1) Un Message channel est une unidirectionnel lien de communication entre les deux gestionnaires de file d'attente.
Message canaux sont utilisés pour le transfert de messages entre les deux gestionnaires de file d'attente.
2) UN canal MQI se connecte à une application (producteur ou consommateur) à un gestionnaire de file d'attente sur un serveur de la machine.
MQI canaux sont requis pour le transfert MQ appels d'API et de réponses entre MQ applications clientes et les gestionnaires de file d'attente.
Donc,
en termes simples,
le canal est un média de communication entre une application cliente et un gestionnaire de file d'attente (ou entre les gestionnaires de file d'attente) pour envoyer et/ou recevoir des messages.
MQ utilise un protocole propriétaire pour transmettre des messages à partir d'applications clientes de la file d'attente entre les gestionnaires et les gestionnaires de file d'attente.
Le format des données contenues dans le message n'a pas d'importance,
il peut être n'importe quoi, y compris des octets, XML ou JSON.
N'importe quel type de données peut être envoyé sur la même chaîne.
Espère que cela a aidé.
Oui, un canal est une partie des informations de connexion. Canal est utilisé pour la connexion à un gestionnaire de file d'attente et PAS à une file d'attente. Si une application n'est pas câblé pour la file d'attente. Un gestionnaire de file d'attente peut contenir un certain nombre de files d'attente. Une application peut être l'envoi de message à Une file d'attente dans une file d'attente du gestionnaire de Z, d'une autre application peut être recevoir des messages de la file d'attente B dans la même file d'attente du gestionnaire de Z. Donc, vous devez spécifier le nom de file d'attente. Veuillez prendre note qu'un "File Manager" ne stocke pas les messages, c'est les files d'attente de stocker les messages.
Ok. Je pense que j'ai un peu eu. Merci!!!!!
OriginalL'auteur Shashi
WebSphere MQ files d'attente
Une file d'attente est un conteneur pour les messages. Applications d'entreprise qui sont connectés au gestionnaire de file d'attente qui héberge la file d'attente peut récupérer les messages de la file d'attente ou peut mettre des messages sur la file d'attente. Une file d'attente a une capacité limitée en termes de nombre maximal de messages qu'il peut contenir, et la longueur maximale de ces messages.
Référence
Canaux
WebSphere MQ utilise deux différents types de canaux:
Référence
OriginalL'auteur Premraj