Pular para o conteúdo principal

Durable Subscriber

Descrição​

Durable Subscriber é um assinante de um Publish-Subscribe Channel cuja assinatura sobrevive à sua desconexão. O sistema de mensageria guarda as mensagens publicadas enquanto o assinante está offline e as entrega quando ele se reconecta.

Para o assinante conectado e para o broker, nada muda em relação a uma assinatura comum; a diferença só aparece durante o período offline. Em geral a assinatura durável é identificada por um nome registrado no broker.

Sem isso, um assinante que cai, é reiniciado ou está em manutenção perde tudo o que foi publicado nesse intervalo.

Problemas que resolve​

  • Perda de mensagens por assinante temporariamente desconectado.
  • Necessidade de reconstruir estado perdido após uma indisponibilidade.

Quando usar​

  • Quando cada evento é importante e o assinante pode ficar offline.
  • Quando é preciso garantir entrega a assinantes lentos ou intermitentes.

Quando evitar​

  • Quando apenas o estado mais recente interessa (mensagens antigas perdem valor).
  • Quando o acúmulo de mensagens para assinantes ausentes pode esgotar o broker.

Trade-offs​

GanhoCusto / Risco
Nenhuma mensagem perdida por indisponibilidadeO broker precisa armazenar mensagens por tempo indeterminado
Recuperação simples ao reconectarAssinaturas abandonadas acumulam dados
Comportamento idêntico ao de assinatura comum quando onlineRajada de mensagens atrasadas na reconexão
  • Combine com Message Expiration para limitar o acúmulo e monitore o tamanho das assinaturas.

Diagrama​

O broker guarda as mensagens enquanto o assinante está ausente e as entrega quando ele volta.

Padrões relacionados​

Referência​