O Serviço de Enfileiramento de Mensagens (também conhecido como MSMQ) é uma infraestrutura de mensagens e uma ferramenta de desenvolvimento para criar aplicativos distribuídos de mensagens para o Microsoft Windows. Os aplicativos desenvolvidos para o Serviço de Enfileiramento de Mensagens enviam mensagens para filas, que são locais de armazenamento temporário dos quais as mensagens podem prosseguir para seu destino final conforme permitirem as condições. Tais aplicativos podem se comunicar através de redes heterogêneas e podem enviar mensagens entre computadores que podem estar temporariamente incapacitados de se interconectarem. O MSMQ fornece os seguintes benefícios:

  • Entrega garantida das mensagens

  • Roteamento eficiente

  • Segurança aprimorada

  • Suporte para envio de mensagens nas transações

  • Sistemas de mensagens baseados na prioridade

Os produtos de software com esses recursos muitas vezes são chamados no mercado de:

  • Software de enfileiramento de mensagens

  • Software de armazenamento e encaminhamento

  • Middleware orientado a mensagens

Com o Enfileiramento de Mensagens, os usuários finais podem se comunicar através de redes e computadores que podem estar offline, independentemente do estado atual da rede e dos computadores. Os administradores do sistema podem usar o Enfileiramento de Mensagens para gerenciar de forma eficiente redes grandes e complexas de computadores e filas de mensagens.

Este tópico descreve os recursos que estão disponíveis com o Enfileiramento de Mensagens.

Servidor de Enfileiramento de Mensagens

Esse recurso é o principal componente do Enfileiramento de Mensagens, que permite realizar funções básicas de Enfileiramento de Mensagens. Para obter mais informações sobre o recurso Servidor de Enfileiramento de Mensagens, consulte o artigo O que é o enfileiramento de mensagens (https://go.microsoft.com/fwlink/?LinkId=93512 [a página pode estar em inglês]).

Integração de Serviços de Diretório

Este recurso permite a publicação das propriedades de fila no Active Directory, a autenticação padrão e a criptografia de mensagens usando certificados registrados no Active Directory e o roteamento de mensagens entre sites. Para obter mais informações sobre o recurso de Integração de Serviços de Diretório, consulte Recurso de integração de serviços de diretório (https://go.microsoft.com/fwlink/?LinkId=93513).

Disparadores do Serviço de Enfileiramento de Mensagens

Esse recurso permite a invocação de um componente COM ou um arquivo executável, dependendo dos filtros que você define para as mensagens recebidas em uma determinada fila. Para obter mais informações sobre o recurso Disparadores do Serviço de Enfileiramento de Mensagens, consulte Visão geral dos disparadores (https://go.microsoft.com/fwlink/?LinkId=93514 [a página pode estar em inglês]).

Suporte HTTP

Esse recurso possibilita o envio e o recebimento de mensagens via HTTP. Para obter mais informações sobre o recurso Suporte HTTP, consulte Mensagens na Internet (https://go.microsoft.com/fwlink/?LinkId=93515).

Suporte a Multicast

Esse recurso possibilita o enfileiramento e o envio de mensagens de multicast a um endereço de multicast IP. Para obter mais informações sobre o recurso Suporte a Multicast, consulte Multicast IP (https://go.microsoft.com/fwlink/?LinkId=93515 [a página pode estar em inglês]).

Serviço de Roteamento

Esse recurso roteia mensagens entre diferentes sites e também dentro de um site. Para obter mais informações sobre o recurso Serviço de Roteamento, consulte Roteamento do enfileiramento de mensagens (https://go.microsoft.com/fwlink/?LinkId=93517 [a página pode estar em inglês]).

Proxy DCOM do Serviço de Enfileiramento de Mensagens

Esse recursos permite que a API MSMQ DCOM conecte-se a um servidor remoto de Enfileiramento de Mensagens.

Subfilas

Este recurso permite agrupar mensagens de maneira lógica em uma fila sem criar outra fila física. Subfilas são filas locais criadas implicitamente que são partições lógicas de uma fila física. Os aplicativos podem usar as subfilas para agrupar mensagens.

Movendo mensagens

Você pode mover mensagens de uma destas três maneiras:

  • Usando a caixa de diálogo Mover Mensagem.

  • Executando uma operação recortar e colar.

  • Executando uma operação arrastar e soltar.

Você pode mover as mensagens entre subfilas da mesma fila principal ou de uma fila principal para sua subfila. Não é possível mover as mensagens de uma fila principal para uma subfila de outra fila principal, ou entre duas filas principais, ou entre duas subfilas de diferentes filas principais.

A mensagem é movida como ela está, da fila de origem à fila de destino. As propriedades da mensagem permanecem inalteradas, exceto pelo número de movimentações atual.

Filas de mensagens mortas por aplicativo

O Serviço de Enfileiramento de Mensagens 4.0 introduziu as filas de mensagens mortas por aplicativo, para que cada aplicativo possa usar sua própria fila de mensagens mortas. Um aplicativo pode solicitar sua própria fila de mensagens mortas usando a propriedade PROPID_M_DEADLETTER_QUEUE como parte da mensagem. Em vez de ser enviada à fila de mensagens mortas transacional do sistema, a mensagem é enviada à fila especificada na propriedade PROPID_M_DEADLETTER_QUEUE.

A PROPID_M_DEADLETTER_QUEUE pode ser definida como qualquer caminho legal de uma fila transacional. A fila transacional deve ser local para o gerenciador de filas que irá mover a mensagem de confirmação negativa (NACK) para a fila. Um caminho legal é definido em Nomes de caminho de fila (https://go.microsoft.com/fwlink/?LinkId=69583 [a página pode estar em inglês]).

Recebimento remoto transacional

O recebimento remoto transacional é um recebimento transacional de uma mensagem de uma fila remota. Existem cenários onde um recebimento remoto transacional é necessário. Por exemplo, quando ordens de trabalho de uma fila central remota precisam ser processadas por um farm de servidores de aplicativos, um recebimento remoto transacional habilitará um mecanismo de balanceamento de carga para o processamento da mensagem pelo farm de servidores.

Habilidade de lidar com um grande número de filas

O seguinte recurso novo é introduzido no Serviço de Enfileiramento de Mensagens 5.0, lançado com o Windows 7 e o Windows Server 2008 R2:

O Serviço de Enfileiramento de Mensagens 5.0 proporciona a funcionalidade para lidar com um número significativamente maior de filas do que a versão 4.0. Embora o Serviço de Enfileiramento de Mensagens 4.0 não estabeleça um limite específico ao número de filas que podem ser criadas, o desempenho será afetado se houver a criação de vários milhares de filas. Especificamente, o tempo de inicialização do Serviço de Enfileiramento de Mensagens 4.0 aumenta muito ao carregar um número muito grande de filas na memória, devido ao algoritmo de pesquisa de fila utilizado. Esse algoritmo usado pelo Serviço de Enfileiramento de Mensagens 5.0 na inicialização foi otimizado para aumentar significativamente o desempenho da inicialização desse serviço quando um número muito grande de filas é hospedado no sistema.

Referências adicionais


Sumário