Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14746|Resposta: 1

A diferença entre a fila ativamq e o tópico é que

[Copiar link]
Publicado em 14/07/2017 09:59:30 | | | |
Fila e Tópico são dois modelos de mensagens suportados pelo JMS:
        1. Modelo de mensagens de fila ponto a ponto (PTP):
        Com esse modelo de mensagens, um aplicativo (ou seja, o produtor de mensagens) pode enviar uma mensagem para outro aplicativo (ou seja, o consumidor de mensagens). Neste modelo de entrega, o tipo de destino da mensagem é uma fila (ou seja, a instância da classe de implementação da interface de destino é criada pela instância da classe de implementação da interface Session chamando seu método createQueue e passando o nome da fila). A mensagem é entregue primeiro a uma fila específica no lado do servidor de mensagens e, a partir daí, é entregue a um consumidor que está ouvindo essa fila. A mesma fila pode associar múltiplos produtores e consumidores de mensagens, mas uma mensagem só pode ser entregue a um consumidor de mensagens. Se múltiplos consumidores de mensagens estiverem ouvindo mensagens na fila, o servidor de mensagens JMS determina qual consumidor de mensagens recebe a próxima mensagem com base no princípio de "quem chega primeiro, quem chega primeiro". Se nenhum consumidor de mensagens estiver ouvindo a fila, a mensagem permanece na fila até que o consumidor de mensagens se conecte à fila. Esse modelo de mensagens é preguiçoso ou de pesquisa no sentido tradicional. Neste modelo, as mensagens não são automaticamente enviadas para o consumidor de mensagens, mas são solicitadas da fila pelo consumidor de mensagens.
        2. Modelo de mensagens de tópicos publicados/subscreves:
        Com esse modelo de mensagens, as aplicações conseguem enviar uma única mensagem para consumidores de múltiplas mensagens. Neste modelo de entrega, o tipo de destino da mensagem é o topic (ou seja, a instância da classe de implementação da interface de destino é criada pela instância da classe de implementação da interface Session chamando seu método createTopic e passando o nome do tópico). A mensagem é publicada primeiro para um tópico específico no servidor de mensagens pelo produtor da mensagem, que então entrega a mensagem a todos os consumidores que assinaram o tema. Os objetivos temáticos também suportam assinaturas de longo prazo. Uma assinatura de longo prazo significa que o consumidor está inscrito no objetivo do tópico, mas pode ficar inativo quando a mensagem chega ao destino. A mensagem será recebida quando o consumidor estiver ativo novamente. Se nenhum dos consumidores estiver registrado em um destino de tópico, o tema mantém mensagens apenas para consumidores inativos que assinaram uma assinatura de longo prazo. Diferentemente do modelo de mensagens PTP, o modelo de mensagens pub/sub permite que múltiplos assinantes de tópicos recebam a mesma mensagem. O JMS mantém a mensagem até que todos os assinantes do tópico a recebam. O modelo de mensagens pub/sub é basicamente um modelo push. Nesse modelo, as mensagens são transmitidas automaticamente, e os consumidores de mensagens não precisam solicitar ou pesquisar ativamente os tópicos para receber novas mensagens.
        As diferenças específicas são as seguintes:

tipo
Tema
Fila
Visão geral
Publicar Assinar mensagens Publicar mensagens de assinatura
Ponto a Ponto Ponto a Ponto
Não existe estado
Os dados do tópico são sem estado por padrão.
Os dados da fila são salvos como arquivo no servidor MQ por padrão, por exemplo, o MQ ativo geralmente é armazenado em $AMQ_HOME\data\kr-store\data. Também pode ser configurado como um armazenamento de banco de dados.
Garantia de integridade
Não há garantia de que todos os dados publicados pela editora serão aceitos pelo assinante.
A fila garante que cada dado possa ser recebido pelo receptor.
se a mensagem será perdida
De modo geral, quando uma editora publica uma mensagem sobre um tema, somente o sub que está ouvindo o endereço do tema pode receber a mensagem. Se não houver um sub ouvindo, o assunto se perde.
O remetente envia uma mensagem para a Fila de destino, e o receptor pode receber mensagens nessa Fila de forma assíncrona. Mensagens na Fila não serão perdidas se não houver um destinatário para atendê-las por enquanto.
Política de recepção de liberação de mensagens
Política de publicação e recebimento de mensagens um-para-muitas, múltiplos subreddits ouvindo o mesmo endereço de tópico podem receber mensagens enviadas pelo editor. O sub recebe a notificação para o servidor mq
Políticas de publicação e recebimento de mensagens um a um, mensagens enviadas por um remetente só podem ser recebidas por um único destinatário. Após o receptor receber, o servidor MQ notifica o servidor MQ de que foi recebido, e o servidor MQ exclui ou toma outras ações nas mensagens na fila.





Anterior:Diferença entre Google AdSense e Google AdWords
Próximo:.net/c# Taobao através do grupo de lote do trem [código-fonte]
 Senhorio| Publicado em 29/03/2018 13:09:01 |

O processo de entrega de mensagens em fila do JMS é o seguinte:



No modo Fila, um publisher publica uma mensagem, e os receptores abaixo recebem em ordem de fila; por exemplo, se 10 mensagens forem publicadas, dois receptores A e B receberão um total de 10 mensagens sem duplicação.

O processo de mensagens de tópicos do JMS é mostrado abaixo:



No modo tópico, se uma editora publicar uma mensagem e houver dois destinatários A e B para assinar, então 10 mensagens são publicadas, e A e B recebem 10 mensagens cada.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com