Neste modelo temos os seguintes itens:
· Tópico (Topic): no lugar de uma fila, temos um tópico, com um rótulo para a mensagem. A mensagem não fica em uma fila, mas em um tópico;
· Publicador (Publisher): é capaz de criar uma mensagem e postá-la num determinado tópico;
· Assinante (Subscriber): Se registra a um ou mais tópicos e lê uma ou mais mensagens que chegam em um ou mais tópicos dos quais assina.
Neste modo existe um publicador (publisher) que pode criar mensagens e enviá-las para um tópico (topic), onde uma assinante (subscriber) poderá ler. Muito parecido com o modelo ponto-a-ponto, a diferença reside no tópico, que pode suportar vários assinantes. Desta forma, uma mensagem enviada por um publicador pode ser lida por múltiplos assinantes. As características deste modelo são:
· Um ou mais consumidores podem ler a mesma mensagem em um tópico;
· Um assinante deve estar em execução continuamente para receber a mensagem, pois quando uma mensagem chega num tópico, chega com uma assinatura criada pelo publicador, que permitirá aos assinantes receberem a mensagem, caso não esteja em execução continuamente, não poderão receber a mensagem.
Veja a figura exemplificando a visão Publicador/Assinante:
Figura (clique para ampliar)