Topologias de Publicação/Assinatura

Um aplicativo de Publicação/Assinatura pode consistir em uma rede de um ou mais intermediários conectados entre si. Os intermediários podem estar todos no mesmo sistema físico, ou distribuídos por vários sistemas físicos. Conectando intermediários, as publicações podem ser recebidas por um cliente em qualquer intermediário na rede.

Isso oferece os seguintes benefícios:

As publicações são enviadas somente a intermediários que têm assinantes que demonstraram um interesse nos tópicos que estão sendo publicados. Isso ajuda a otimizar o tráfego na rede.

Coletivos

Um coletivo é um conjunto de intermediários que são completamente interconectados e formam parte de uma rede de múltiplos intermediários para aplicativos de .

Um intermediário não pode pertencer a mais de um coletivo. Os intermediários no mesmo coletivo podem existir em computadores fisicamente separados. Cada par de gerenciadores de filas dos intermediários deve ser conectado por um par de canais do .

A figura a seguir mostra um coletivo simples de três intermediários:

Um coletivo de três intermediários

Redes de Intermediários

Existem três maneiras de conectar intermediários para formar um domínio do intermediário:
  • Os intermediários podem ser unidos em uma estrutura de árvore hierárquica.
  • Os intermediários podem ser agrupados em coletivos, onde um coletivo é um conjunto de um ou mais intermediários que estão diretamente conectados um ao outro.
  • Os coletivos podem ser unidos em uma estrutura de árvore; esta é uma combinação das duas maneiras anteriores de agrupar intermediários.

Um intermediário pode pertencer a somente um coletivo.

Os intermediários em um coletivo podem estar todos em um sistema físico, ou podem estar em sistemas físicos separados.

Um coletivo oferece os seguintes benefícios:
  • Mensagens destinadas para um intermediário específico no mesmo coletivo são transportadas diretamente para esse intermediário e não precisam passar por um intermediário. Isso melhora o desempenho do intermediário e otimiza o tráfego entre intermediários em comparação a uma configuração de árvore hierárquica.
  • Se seus clientes estiverem geograficamente dispersos, é possível configurar um coletivo em cada local e conectar os coletivos (unindo um único intermediário em cada coletivo) para otimizar o fluxo de registro de publicações e assinaturas através da rede.
  • É possível agrupar clientes de acordo com os tópicos compartilhados que eles publicam e assinam.

    Clientes que compartilham tópicos em comum podem conectar a intermediários dentro de um coletivo. As publicações comuns são transportadas eficientemente no coletivo, pois não passam por intermediários que não tenham pelo menos um cliente com um interesse nesses tópicos comuns.

  • Um cliente pode conectar a seus intermediário mais próximo, para melhorar seu próprio desempenho. O intermediário recebe todas as mensagem que correspondem ao registro de assinatura do cliente de todos os intermediários dentro do coletivo.

    O desempenho de um aplicativo do cliente também é aprimorado em outros serviços solicitados desse intermediário ou do gerenciador de filas dele. Um aplicativo de cliente pode utilizar envio de mensagem e .

  • O número de clientes por intermediário pode ser reduzido incluindo-se mais intermediários ao coletivo para compartilhar carga de trabalho dentro deste coletivo.

O diagrama a seguir mostra uma rede de seis coletivos agrupados em uma estrutura hierárquica.


Este diagrama mostra seis coletivos agrupados em uma estrutura hierárquica; há um coletivo com dois intermediários conectado a três coletivos, com quatro, um e três intermediários, respectivamente; o coletivo com quatro intermediários tem mais dois coletivos conectados a ele com cinco e três intermediários, respectivamente.

Quando você cria um coletivo, o assegura que as conexões feitas a outros coletivos e intermediários sejam válidas. Não é permitido que você faça conexões que possam fazer com que as mensagens entrem em ciclo dentro da rede. Também não é permitido criar um coletivo de intermediários que não tenha as conexões necessárias do já definidas.

O gerenciador de filas de cada intermediário em um coletivo deve ter uma conexão a todos os outros gerenciadores de filas no coletivo.

Cada intermediário no coletivo mantém uma lista de seus vizinhos.

Um vizinho pode ser um dos seguintes:

A lista completa de intermediários vizinhos forma uma vizinhança de intermediários.

Conceitos relacionados
Intermediário

Tarefas relacionadas
Desenvolvendo aplicativos do