Sobes.tech
Middle

Mis on sõnumipõhine mudel (MOM)?

sobes.tech AI

Vastus AI-lt

Sõnumipõhine mudel (MOM) on disainimuster jaotatud süsteemidele, mis põhineb asünkroonsel sõnumite vahetusel sõltumatute komponentide vahel.

MOM-i põhikomponendid:

  • Sõnum: Andmekott, mis edastatakse komponentide vahel.
  • Saatja: Rakendus, mis loob ja saadab sõnumeid.
  • Saaja: Rakendus, mis võtab ja töötleb sõnumeid.
  • Sõnumibuss / Sõnumibroker: Vaheprogramm (middleware), mis marsruudib, salvestab ja edastab sõnumeid.

MOM-i eelised:

  • Asünkroonsus: Saatja ja saaja ei pea olema samaaegselt saadaval.
  • Koppamine (Decoupling): Saatjad ja saajad ei tea üksteisest otseselt.
  • Skaleeritavus: Uute saatjate või saajate lisamine on lihtne.
  • Usaldusväärsus: Sõnumibroker võib garantii edastuse.
  • Paindlikkus: Toetab erinevaid suhtlusmudeleid (punkt-punkt, avaldam/registreerimine).

Tuntud MOM-implementatsioonid:

  • ActiveMQ
  • RabbitMQ
  • Kafka
  • Java sõnumiteenus (JMS)

Näide suhtlusest:

// Saatja avaldab sõnumi teemal
Producer producer = connection.createProducer(topic);
TextMessage message = session.createTextMessage("Tere saatjalt!");
producer.send(message);
// Saaja tellib teema ja töötleb sõnumeid
Consumer consumer = connection.createConsumer(topic);
consumer.setMessageListener(new MessageListener() {
    @Override
    public void onMessage(Message message) {
        // Saadud sõnumi töötlemine
    }
});