Padrões de mensagens
A natureza distribuída dos aplicativos de nuvem exige uma infraestrutura de mensagens que conecta os componentes e serviços, idealmente de uma maneira flexível para maximizar a escalabilidade. O sistema de mensagens assíncronas é amplamente usado e fornece muitos benefícios, mas também traz desafios, como a ordenação de mensagens, o gerenciamento de mensagens suspeitas, a idempotência e muito mais.
Padrão | Resumo |
---|---|
Solicitação/resposta assíncrona | Desvincule o processamento de back-end de um host de front-end: quando o processamento de back-end precisa ser assíncrono, mas o front-end ainda precisa de uma resposta clara. |
Verificação de declaração | Divida uma mensagem grande em uma verificação de declaração e uma carga para evitar sobrecarregar um barramento de mensagem. |
Coreografia | Fazer com que cada componente do sistema participe do processo de tomada de decisão sobre o fluxo de trabalho de uma transação de negócios, em vez de depender de um ponto central de controle. |
Consumidores Concorrentes | Habilite vários consumidores simultâneos para processar as mensagens recebidas no mesmo canal de mensagens. |
Pipes e Filtros | Dividir uma tarefa que executa processamento complexo em uma série de elementos separados que podem ser reutilizados. |
Fila de Prioridade | Priorize as solicitações enviadas a serviços para que as solicitações com uma prioridade mais alta sejam recebidas e processadas mais rapidamente do que aquelas com uma prioridade mais baixa. |
Publisher-Subscriber | Permite a um aplicativo anunciar eventos para vários consumidores de seu interesse assincronamente, sem acoplar os remetentes aos destinatários. |
Nivelamento de Carga Baseado em Fila | Use uma fila que funcione como um buffer entre uma tarefa e um serviço que ela invoca para simplificar cargas pesadas intermitentes. |
Saga | Gerencie a consistência de dados entre microsserviços em cenários de transações distribuídas. Uma saga é uma sequência de transações que atualiza cada serviço e publica uma mensagem ou evento para disparar a próxima etapa de transação. |
Supervisor de Agente do Agendador | Coordene um conjunto de ações em um conjunto distribuído de serviços e outros recursos remotos. |
Comboio Sequencial | Processe um conjunto de mensagens relacionadas em uma ordem definida, sem bloquear o processamento de outros grupos de mensagens. |