Adicione uma assinatura efêmera, para que mais de um pod possa servir uma conversa

Featurekamo-shared-library
Navios
4 de setembro de 2026 às 20:02 UTC
Autor
Kamo
Enviar
6c253b6

Um consumidor de empurrão durável admite exatamente um assinante. A segunda cápsula a ligar o mesmo nome é recusada com [SUB-90012] O consumidor já está vinculado a uma subscrição, e nada repete. ChatSessionSubscriptionManager nomeia seu durável após a sessão de chat GUID, então com dois Os pods do MediaService, qualquer que fosse a primeira conversação, silenciosamente a possuiria e a cada membro cujo WebSocket pousou na outra cápsula não receberia nada — sem mensagens, sem recibos de leitura, não eventos associados, sem erros. Essa única propriedade é porque MediaService foi presa a um réplica, e por que uma implantação dele é uma interrupção total do chat em vez de uma capotagem. subscreveEphemeral () cria um consumidor sem nome. Não há nenhuma identidade de cross-pod para colidir Assim, cada pod recebe cada mensagem e fãs para seus próprios clientes STOMP — que é o o simples corretor requer. Mantém o filtroSujeite o caminho durável aprendido a definir (um filtro vazio consome todo o fluxo), e adiciona um limiar inativo para um pod que é SIGKILLed sem que o cancelamento não deixe o seu consumidor na corrente para sempre. Nenhuma alteração de comportamento para chamadas existentes: subscribe() é intocada, e o loop de entrega ambos o uso de caminhos é agora um método para que eles não possam derivar. Os consumidores efémeros não reproduzem mensagens publicadas enquanto nada foi subscrito. Nem o duráveis — ambos usam a DeliverPolítica. Novo — portanto isto não é uma regressão.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços