Sobes.tech
Middle

Co je model orientovaný na zprávy (MOM)?

sobes.tech AI

Odpověď od AI

Model orientovaný na zprávy (MOM) je návrhový vzor pro distribuované systémy založený na asynchronní výměně zpráv mezi nezávislými komponentami.

Hlavní komponenty MOM:

  • Zpráva: datový balíček přenášený mezi komponentami.
  • Odesílatel: aplikace, která vytváří a odesílá zprávy.
  • Příjemce: aplikace, která přijímá a zpracovává zprávy.
  • Zprávová fronta / Zprávový broker: middleware, které směruje, ukládá a doručuje zprávy.

Výhody MOM:

  • Asynchronní: Odesílatel a příjemce nemusí být dostupní současně.
  • Decoupling: Odesílatelé a příjemci se navzájem neznají přímo.
  • Škálovatelnost: Snadné přidání nových odesílatelů nebo příjemců.
  • Spolehlivost: Broker může garantovat doručení.
  • Flexibilita: Podporuje různé modely interakce (bod-bod, publikace/odběr).

Populární implementace MOM:

  • ActiveMQ
  • RabbitMQ
  • Kafka
  • Java Message Service (JMS)

Příklad interakce:

// Odesílatel publikuje zprávu na téma
Producer producer = connection.createProducer(topic);
TextMessage message = session.createTextMessage("Ahoj od odesílatele!");
producer.send(message);
// Příjemce se přihlásí k tématu a zpracovává zprávy
Consumer consumer = connection.createConsumer(topic);
consumer.setMessageListener(new MessageListener() {
    @Override
    public void onMessage(Message message) {
        // Zpracování přijaté zprávy
    }
});