Sobes.tech
Middle

Čo je model orientovaný na správy (MOM)?

sobes.tech AI

Odpoveď od AI

Model orientovaný na správy (MOM) je návrhový vzor pre distribuované systémy založený na asynchrónnej výmene správ medzi nezávislými komponentmi.

Hlavné komponenty MOM:

  • Správa: dátový balík prenášaný medzi komponentmi.
  • Odosielateľ: aplikácia, ktorá vytvára a odosiela správy.
  • Prijímateľ: aplikácia, ktorá prijíma a spracováva správy.
  • Správca správ / Broker správ: middleware softvér, ktorý smeruje, ukladá a doručuje správy.

Výhody MOM:

  • Asynchrónnosť: Odosielateľ a prijímateľ nemusia byť dostupní súčasne.
  • Decoupling: Odosielatelia a prijímatelia sa navzájom nepoznajú priamo.
  • Škálovateľnosť: Je ľahké pridávať nových odosielateľov alebo prijímateľov.
  • Spoľahlivosť: Broker správ môže garantovať doručenie.
  • Flexibilita: Podporuje rôzne modely interakcie (bod-bod, publikácia/odber).

Populárne implementácie MOM:

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

Príklad interakcie:

// Odosielateľ publikuje správu na tému
Producer producer = connection.createProducer(topic);
TextMessage message = session.createTextMessage("Ahoj od odosielateľa!");
producer.send(message);
// Prijímateľ sa prihlási na tému a spracováva správy
Consumer consumer = connection.createConsumer(topic);
consumer.setMessageListener(new MessageListener() {
    @Override
    public void onMessage(Message message) {
        // Spracovanie prijatej správy
    }
});