Visão geral das filas de mensagens
- Tópicos:
- Configuração
Criado para:
- Experiente
- Administrador
- Desenvolvedor
O Message Queue Framework (MQF) é um sistema que permite que um módulo publique mensagens em filas. Também define os consumidores que receberão as mensagens de forma assíncrona. O MQF usa RabbitMQ como o agente de mensagens, que fornece uma plataforma escalável para enviar e receber mensagens. Também inclui um mecanismo para armazenar mensagens não entregues. RabbitMQ é baseado na especificação AMQP (Advanced Message Queuing Protocol) 0.9.1.
O diagrama a seguir ilustra a Estrutura da fila de mensagens:
-
Um editor é um componente que envia mensagens para uma troca. Ele sabe para qual troca publicar e o formato das mensagens enviadas.
-
Um Exchange recebe mensagens de editores e as envia para filas. Embora o RabbitMQ ofereça suporte a vários tipos de trocas, o Commerce usa somente trocas de tópicos. Um tópico inclui uma chave de roteamento, que contém strings de texto separadas por pontos. O formato de um nome de tópico é
string1.string2
: por exemplo,customer.created
oucustomer.sent.email
.O broker permite usar curingas ao definir regras para o encaminhamento de mensagens. Você pode usar um asterisco (
*
) para substituir uma cadeia de caracteres ou um sinal de libra (#
) para substituir 0 ou mais cadeias de caracteres. Por exemplo,customer.*
filtraria emcustomer.create
ecustomer.delete
, mas nãocustomer.sent.email
. No entanto,customer.#
filtraria emcustomer.create
,customer.delete
ecustomer.sent.email
. -
Uma fila é um buffer que armazena mensagens.
-
Um consumidor recebe mensagens. Ele sabe qual fila consumir. Ele pode mapear processadores da mensagem para uma fila específica.
Um sistema básico de fila de mensagens também pode ser configurado sem usar o RabbitMQ. Neste sistema, um adaptador MySQL armazena mensagens no banco de dados. Três tabelas de banco de dados (queue
, queue_message
e queue_message_status
) gerenciam a carga de trabalho da fila de mensagens. Os trabalhos da Cron garantem que os consumidores possam receber mensagens. Essa solução não é muito escalável. RabbitMQ deve ser usado sempre que possível.
Commerce
- Visão geral
- Configuração geral
- Implantação
- Cache
- Visão geral do armazenamento em cache
- Tipos de cache
- Opções de cache
- Cache L2
- Redis
- Valkey
- Verniz
- Servidor da Web
- Configurar o aplicativo do Commerce
- Configuração avançada de verniz
- Limpeza de cache
- Cache limpando várias instâncias de Verniz
- Verificar configuração de verniz
- Bloco ESI de verniz
- Cache de conteúdo estático
- Linha de comando
- Ferramenta de linha de comando
- Comandos comuns
- Habilitar registro
- Gerenciar o cache
- Gerenciar indexadores
- Configurar trabalhos cron
- Compilar código
- Modo de operação
- Iniciar consumidores da fila de mensagens
- Marca-texto URN
- Relatórios de dependência
- Localização
- Gerenciamento de configuração
- Exibição estática
- Criar ligações simbólicas
- Executar testes de unidade
- Converter arquivos de layout
- Gerar dados para teste de desempenho
- Executar utilitários de suporte (somente Commerce)
- Arquivos de configuração
- Caminhos de configuração
- Cron Jobs
- Logs
- Filas de Mensagens
- Vários sites
- Mecanismo de pesquisa
- Segurança
- Armazenamento
- Retornar aos Guias Operacionais