Ugrás a tartalomhoz

message passing

A Wikiszótárból, a nyitott szótárból


Főnév

message passing (tsz. message passings)

  1. (informatika) Message Passing (üzenetküldés) egy kommunikációs mechanizmus párhuzamos, elosztott vagy moduláris rendszerekben, amely során különálló folyamatok vagy szálak információt cserélnek üzenetek formájában. Ez különösen fontos olyan rendszerekben, ahol a folyamatok nem osztanak meg közös memóriát, így az adatok továbbításához valamilyen explicit kommunikáció szükséges.



🔧 Alapötlet

A rendszer komponensei (pl. folyamatok, szálak vagy aktorok):

  • Küldenek egy üzenetet (adatcsomagot) egy másik entitásnak.
  • Fogadják az érkező üzenetet.
  • Feldolgozzák az üzenet tartalmát.

Ez lehet szinkron (vár a válaszra), vagy aszinron (azonnal továbbmegy).



🔁 Szinchrón vs. Aszinkron üzenetküldés

Jellemző Szinchrón Aszinkron
Blokkolás A küldő folyamat vár A küldő folyamat azonnal folytatja
Időzítés Küldő és fogadó egyszerre aktív Nincs időbeli szinkron szükség
Példa RPC, rendezett message queue Erlang mailbox, MPI aszinkron mód



🧱 Használati példák

  • OS szinten:
    • Linux: pipes, message queues, sockets
    • Windows: Named Pipes, Message Queues
  • Nyelvekben:
    • Erlang, Elixir – aktor modell, minden kommunikáció üzenetküldéssel zajlik
    • Gogoroutine + channel
    • MPI – elosztott HPC alkalmazásoknál
  • Szoftver architektúrák:
    • Microservice rendszerek – REST, gRPC vagy message broker (RabbitMQ, Kafka)
    • Actor modellek – pl. Akka (Scala), Orleans (.NET)



Előnyök

  • 🧩 Modularitás: Független komponensek könnyebben kezelhetők.
  • 🔐 Biztonság: Elkerülhetőek a közös memória miatt fellépő versenyhelyzetek.
  • 🌐 Elosztott működésre alkalmas: Hálózaton keresztüli kommunikációra is használható.
  • ⚙️ Skálázhatóság: Könnyű új modulokat hozzáadni vagy cserélni.



⚠️ Hátrányok

  • 🕒 Többletkésleltetés: Az üzenetek továbbítása időbe kerül.
  • 📦 Komplexitás: Üzenetformátum, hibakezelés, üzenetsorrend fenntartása nehéz lehet.
  • 🔁 Túlterhelés esélye: Ha túl sok üzenet érkezik gyorsan.



🧠 Összefoglalás

A message passing az egyik alapvető kommunikációs mechanizmus párhuzamos és elosztott rendszerekben. Lehetővé teszi az izolált folyamatok biztonságos és hatékony együttműködését. Mivel nincs közös memória, csökken a versenyhelyzetek kockázata, miközben rugalmas, skálázható és hibatűrő rendszerek építhetők vele.