Canais
IBM® MQ pode usar três tipos diferentes de canais: um canal de mensagens, um canal de MQI e um canal de AMQP.
Não confunda estes tipos distintos de canais:
- Canal de mensagens
- Um canal de mensagens é um link de comunicações unidirecional entre dois gerenciadores de filas. IBM MQ usa canais de mensagens para transferir mensagens entre os gerenciadores de filas. Para enviar mensagens em ambas as direções, você deve definir um canal para cada direção.
- canal MQI
- Um canal MQI é bidirecional e conecta um aplicativo (cliente MQI) a um gerenciador de filas em uma máquina do servidor. IBM MQ usa canais de MQI para transferir chamadas de MQI e respostas entre clientes de clientes e gerenciadores de filas.
Canal AMQP
- Um canal AMQP, que é bidirecional e conecta um cliente AMQP a um gerenciador de filas em uma máquina de servidor. IBM MQ usa canais de AMQP para transferir chamadas de AMQP e respostas entre aplicativos de AMQP e gerenciadores de filas.
Ao referir-se aos canais de mensagens, a palavra canal é normalmente usada como um sinônimo de definição de canal. Fica claro, pelo contexto, se estamos falando de um canal completo, que tem duas extremidades, ou de uma definição de canal, que tem apenas uma extremidade.
Canais de mensagens
As definições de canal de mensagens podem ser um dos seguintes tipos:
Tipo de definição de canal de mensagens | Descrição |
---|---|
Emissor | Um canal emissor é um canal de mensagens que o gerenciador de filas utiliza para enviar mensagens a outros gerenciadores de filas. Para enviar mensagens utilizando um canal emissor, é necessário criar também, no outro gerenciador de filas, um canal receptor com o mesmo nome do canal emissor. É possível também utilizar canais emissores com canais solicitantes se estiver implementando um mecanismo de "retorno de chamada". |
servidor | Um canal servidor é um canal de mensagens que o gerenciador de filas utiliza para enviar mensagens a outros gerenciadores de filas. Para enviar mensagens utilizando um canal servidor, é necessário criar também, no outro gerenciador de filas, um canal receptor com o mesmo nome do canal servidor. É possível também utilizar os canais do servidor com canais de solicitante. Nesse caso, a definição de canal do solicitante na outra extremidade do canal solicita o início da definição de canal do servidor. O servidor envia mensagens para o solicitante. O servidor também pode iniciar a comunicação assim que o servidor souber o nome da conexão do canal do parceiro. |
Receptor | Um canal de receptor é um canal de mensagens que o gerenciador de filas utiliza para receber mensagens de outros gerenciadores de filas. Para receber mensagens utilizando um canal receptor, é necessário criar também, no outro gerenciador de filas, um canal emissor ou servidor com o mesmo nome desse canal receptor. |
Solicitante | Um canal do Solicitante é um canal de mensagens que o gerenciador de filas usa para receber mensagens de outros gerenciadores de filas. Um canal do solicitante pode solicitar a inicialização do canal do parceiro que está definido na extremidade remota. Se o canal do parceiro for um canal do servidor, ele aceitará a solicitação de inicialização e começará a enviar mensagens da fila de transmissão identificada na definição do canal do servidor para o canal do solicitante. Se o canal do parceiro for um canal emissor, ele aceitará a solicitação de inicialização. No entanto, ele encerrará a conexão com o solicitante em seguida. Em seguida, o canal emissor é iniciado, negocia uma sessão com o canal do solicitante do parceiro e começa a enviar mensagens da fila de transmissão que é identificada na definição do canal emissor. Este último caso, essencialmente, fornece um mecanismo de retorno de chamada no qual o canal do Solicitante solicita que o canal Emissor retorne a chamada. |
Emissor de cluster | Uma definição de canal emissor do cluster (CLUSSDR) define a extremidade de envio de um canal no qual um gerenciador de filas do cluster pode enviar informações sobre o cluster para um dos repositórios completos. O canal emissor do cluster é utilizado para notificar o repositório de todas as mudanças no status do gerenciador de filas, por exemplo, a inclusão ou remoção de uma fila. É usado também para transmitir mensagens. Os próprios gerenciadores de filas de repositório completo têm canais do emissor de clusters que apontam um para o outro. Eles os usam para comunicar uns aos outros alterações no status do cluster. É de menor importância para qual repositório completo uma definição de canal CLUSSDR do gerenciador de filas aponta. Depois que o contato inicial foi feito, novos objetos do gerenciador de filas do cluster são definidos automaticamente conforme requerido para que o gerenciador de filas possa enviar informações sobre o cluster a cada repositório completo e mensagens a cada gerenciador de filas. Para obter mais informações, consulte clusters de gerenciador de filas. |
Receptor de cluster | Uma definição de canal receptor do cluster (CLUSRCVR) define a extremidade de recebimento de um canal no qual um gerenciador de filas do cluster pode receber mensagens de outros gerenciadores de filas no cluster. Um canal receptor do cluster pode também transportar informações sobre o cluster destinadas ao repositório. Definindo o canal receptor do cluster, o gerenciador de filas indica aos outros gerenciadores de filas do cluster que ele está disponível para receber mensagens. É necessário pelo menos um canal receptor de clusters para cada gerenciador de filas do cluster. Para obter mais informações, consulte clusters de gerenciador de filas. |
Para cada canal, você deve definir ambas as extremidades para que haja uma definição de canal para cada extremidade do canal. As duas extremidades do canal devem ser de tipos compatíveis.
Você pode ter as seguintes combinações de definições de canal:
- Emissor-Receptor
- Servidor-Receptor
- Solicitante-Servidor
- Solicitante-Servidor (retorno de chamada)
- Cluster-emissor-Cluster-receptor
Agente do canal de mensagens
Cada definição de canal criada pertence a um determinado gerenciador de filas. Um gerenciador de filas pode ter vários canais de tipos iguais ou diferentes. Em cada extremidade do canal, há um programa, o MCA (Message Channel Agent). Em uma extremidade do canal, o MCA responsável pela chamada pega as mensagens da fila de transmissão e as envia por meio do canal. Na outra extremidade do canal, o MCA responsável pelo atendimento recebe as mensagens e as entrega ao gerenciador de filas remotas.
Um MCA responsável pela chamada pode estar associado a um canal de emissor, servidor ou solicitante. Um MCA responsável pelo atendimento pode estar associado a qualquer tipo de canal de mensagens.
IBM MQ suporta as seguintes combinações de tipos de canais nas duas extremadas de uma conexão:
Responsável pela Chamada | Direcionamento do Fluxo de Mensagens | Respondente | ||
---|---|---|---|---|
Tipo de canal | Listener Exigido? | Listener Exigido? | Tipo de canal | |
Emissor | No | Responsável pela Chamada para Responsável pelo Atendimento | Sim | Receptor |
servidor | No | Responsável pela Chamada para Responsável pelo Atendimento | Sim | Receptor |
servidor | No | Responsável pela Chamada para Responsável pelo Atendimento | Sim | Solicitante |
Solicitante | No | Responsável pelo Atendimento para Responsável pela Chamada | Sim | servidor |
Solicitante | Sim | Responsável pelo Atendimento para Responsável pela Chamada | Sim | Emissor |
Canais da MQI
Os canais MQI podem ser de um dos seguintes tipos:
Tipo de Canal MQI | Descrição |
---|---|
Conexão do servidor | Um canal de conexão do servidor é um canal de MQI bidirecional que é usado para conectar um cliente IBM MQ a um servidor IBM MQ . O canal de conexão do servidor é a extremidade de servidor do canal. |
Conexão do cliente | Um canal de conexão do cliente é um canal de MQI bidirecional que é usado para conectar um cliente IBM MQ a um servidor IBM MQ . IBM MQ Explorer também usa conexões clientes para se conectar a gerenciadores de filas remotas. O canal de conexão do cliente é o final do cliente do canal. Quando você cria um canal de conexão do cliente, é criado um arquivo no computador que hospeda o gerenciador de filas. Você deve, então, copiar o arquivo de conexão do cliente para o computador cliente IBM MQ . |
![[ UNIX, Linux, Windows, IBM i ]](ngmulti.gif)
Canais AMQP
Existe somente um tipo de canal AMQP.
É usado um canal para conectar um aplicativo de sistema de mensagens AMQP com um gerenciador de filas, ativando o aplicativo para troca de mensagens com os aplicativos do IBM MQ. Um canal de AMQP permite desenvolver um aplicativo usando o MQ Lighte, em seguida, implementá-lo como um aplicativo corporativo, aproveitando as instalações de nível corporativo fornecidas pelo IBM MQ.
Para obter mais informações sobre os canais, consulte Canais em IBM Documentação.