Sobes.tech
Middle

O que é um modelo orientado a mensagens (MOM)?

sobes.tech IA

Resposta da IA

O modelo orientado a mensagens (MOM) é um padrão de design para sistemas distribuídos baseado na troca assíncrona de mensagens entre componentes independentes.

Componentes principais do MOM:

  • Mensagem: Pacote de dados transmitido entre componentes.
  • Emissor: Aplicação que cria e envia mensagens.
  • Receptor: Aplicação que recebe e processa mensagens.
  • Bus de mensagens / Corredor de mensagens: Software intermédio (middleware) que encaminha, armazena e entrega mensagens.

Vantagens do MOM:

  • Assincronia: O emissor e o receptor não precisam estar disponíveis ao mesmo tempo.
  • Acoplamento (Decoupling): Os emissores e receptores não se conhecem diretamente.
  • Escalabilidade: É fácil adicionar novos emissores ou receptores.
  • Confiabilidade: O corretor de mensagens pode garantir a entrega.
  • Flexibilidade: Suporta diferentes modelos de interação (ponto a ponto, publicação/subscrição).

Implementações populares de MOM:

  • ActiveMQ
  • RabbitMQ
  • Kafka
  • Serviço de mensagens Java (JMS)

Exemplo de interação:

// O emissor publica uma mensagem no tópico
Producer producer = connection.createProducer(topic);
TextMessage message = session.createTextMessage("Olá do emissor!");
producer.send(message);
// O receptor subscreve ao tópico e processa mensagens
Consumer consumer = connection.createConsumer(topic);
consumer.setMessageListener(new MessageListener() {
    @Override
    public void onMessage(Message message) {
        // Processamento da mensagem recebida
    }
});