Fundamentos do IBM MQ – IBM Developer

Fundamentos do IBM MQ

O IBM MQ é uma solução de sistema de mensagens robusta, confiável e segura. Ele simplifica e acelera a integração de diferentes aplicativos entre diversas plataformas e suporta uma ampla variedade de APIs e linguagens.

O IBM MQ permite que aplicativos se comuniquem e troquem dados de maneira confiável e escalável, que desvincula um aplicativo do outro. Dessa maneira, o MQ auxilia na integração de aplicativos em execução em diferentes estruturas, linguagens, plataformas, nuvens e locais. É possível gravar aplicativos da maneira que desejar, sabendo que você pode contar com o MQ para resolver os problemas e reuni-los.

O IBM MQ permite que a infraestrutura do servidor se estenda ao data center, ao mainframe e às estruturas de nuvem. O IBM MQ, implementado como software e hardware, fornece capacidade de comunicação corporativa entre aplicativos independentes. E mais, ele reduz a complexidade de desenvolvimento desses aplicativos.

Como o IBM MQ simplifica a comunicação entre aplicativos?

Colocar uma infraestrutura do sistema de mensagens entre duas ou mais aplicativos significa que os aplicativos não estão se comunicando diretamente. Na verdade, eles interagem por meio do middleware.

gráfico de comunicação entre apps

Mais especificamente, um aplicativo coloca informações para o outro em uma mensagem, que é colocada em uma fila de mensagens.

gráfico de comunicação entre apps, fila de mensagens

Como resultado, o sistema de mensagens não requer que os aplicativos estejam disponíveis ao mesmo tempo, pois a fila fornece disponibilidade. Esse modelo é conhecido como sistema de mensagens assíncrono.

gráfico de sistema de mensagens assíncrono

Se um aplicativo desaparece, ou se ele é simplesmente mais lento do que o outro, o enfileiramento de mensagens fornece um “amortecedor”, lidando com a instabilidade de ambos os lados.

gráfico do enfileiramento de mensagens

Os fundamentos básicos do IBM MQ

Vamos ver alguns dos principais conceitos para entender o IBM MQ.

Mensagens, filas e canais

Mensagens são pacotes de dados que são produzidos e consumidos por aplicativos.

Filas são locais endereçáveis para entregar mensagens e armazená-las de maneira confiável até que elas precisem ser consumidas.

Gerenciadores de filas são os servidores MQ que hospedam as filas.

Canais são a maneira como os gerenciadores de filas se comunicam entre si e com os aplicativos.

gráfico de mensagens, filas, gerenciadores de filas e canais

Redes do MQ

Redes do MQ são coleções dispersas de gerenciadores de filas interconectados, todos trabalhando juntos para entregar mensagens entre aplicativos e locais.

gráfico de redes do MQ

Clusters do MQ

Clusters do MQ são acoplamentos estritos de gerenciadores de filas, permitindo níveis mais altos de ajuste de escala e disponibilidade.

gráfico de redes do MQ

Estilos do sistema de mensagens do IBM MQ

O IBM MQ suporta estes estilos de sistemas de mensagens:

  • Sistema de mensagens ponto a ponto
  • Sistema de mensagens de publicação/assinatura

Sistema de mensagens ponto a ponto

Este estilo de sistema de mensagens é criado em torno do conceito de filas de mensagens e do processamento de mensagens por um único consumidor.

No ponto a ponto, os produtores de mensagens são chamados de emissores e os consumidores de mensagens são chamados de destinatários. Os emissores produzem mensagens para uma fila e os destinatários consomem mensagens de forma assíncrona nessa fila.

Imagem de gráfico mostrando produtores de mensagens, consumidores e uma fila de mensagens para o sistema de mensagens ponto a ponto

Para que o ponto a ponto funcione, os aplicativos conectados precisam saber o nome da fila por meio da qual eles interagem.

Uma fila poderia ter um único destinatário ou ser escalada para vários, nesse caso, cada mensagem é consumida apenas por um destinatário, distribuindo a carga de trabalho entre todos eles.

Sistema de mensagens de publicação/assinatura

Nesse estilo de sistema de mensagens, cópias de mensagens serão entregues a todos os interessados que consomem aplicativos.

O produtor da mensagem é conhecido como publicador e os consumidores de mensagens são conhecidos como assinantes. Os aplicativos de publicação e assinatura dentro da infraestrutura concordam com o nome de um tópico. Para que um consumidor sinalize que ele deseja receber mensagens sobre esse tópico, ele cria uma assinatura para ele.

Imagem de gráfico mostrando produtores de mensagens, consumidores e um tópico para o sistema de mensagens de publicação/assinatura

Qualquer mensagem publicada em um tópico será entregue a todas as assinaturas, portanto, cada assinante obtém uma cópia. Pode haver vários publicadores e vários assinantes para cada tópico, o MQ lida com a entrega de mensagens entre todos eles.

Suporte ao idioma e recursos do IBM MQ

Qualquer que seja a linguagem ou o tempo de execução com o qual você deseja desenvolver, o MQ provavelmente é compatível. A seguir estão as linguagens e os tempos de execução compatíveis:

O MQ suporta inúmeras APIs:

O MQ também suporta inúmeros protocolos de sistemas de mensagens:

O MQ também abrange inúmeros ambientes operacionais:

Resumo

Então, o que você precisa se lembrar sobre o IBM MQ? Estes três principais benefícios:

  • O MQ fornece entrega garantida de dados. Perda ou duplicação de informações pode resultar em problemas críticos. Pense em uma transação, cuja entrega de mensagens você deseja que ocorra apenas uma vez. O MQ é o líder mundial em garantir que dados não sejam perdidos ou duplicados quando você não deseja que isso aconteça. Isso é assegurado por meio da confiabilidade comprovada dos sistemas MQ e da capacidade de integrar essas mensagens críticas em trocas transacionais.

  • O MQ é escalável horizontalmente. À medida que a carga de trabalho para um único gerenciador de filas aumenta, é fácil incluir mais gerenciadores de filas para compartilhar tarefas e distribuir as mensagens entre eles. Os Clusters do MQ ainda rotearão mensagens de forma inteligente para onde elas são necessárias. O mundo é cheio de sistemas MQ escalados horizontalmente que lidam com bilhões de mensagens por dia.

  • O MQ é altamente disponível. Os dados da mensagem são o mais importante e o MQ assegura que eles estejam sempre altamente disponíveis, fornecendo maneiras de replicar esses dados entre sistemas e de reiniciar automaticamente os gerenciadores de filas que hospedam essas mensagens em outro lugar. Junte a isso um grupo de gerenciadores de filas estreitamente armazenados em cluster que fornecem as mesmas filas e tópicos e você terá um sistema disponível continuamente.

Aviso

O conteúdo apresentado aqui foi traduzido da página do IBM Developer nos EUA. É possível conferir o conteúdo original em este link.