Back to IF3130 Sistem Paralel dan Terdistribusi

Topic

Questions/Cues

  • 3 model komunikasi utama?

  • Apa itu MOM?

  • 2 Tipe MOM?

  • Apa itu MOM Transient?

  • Alur Socket (Server & Client)?

  • Apa itu MOM Persistent?

  • 4 skenario MOM Persistent?

  • Apa itu Message Broker?

  • 3 fungsi Message Broker?

Reference Points

  • Slides 9-16 (11 - IF3130-11-Communication-2022.pdf)

  • Kuliah Komunikasi

1. Tiga Model Komunikasi

Ada 3 model yang banyak digunakan untuk komunikasi:

  1. Message-Oriented Communication (MOM)

  2. Remote Procedure Call (RPC)

  3. Stream-Oriented Communication

2. Message-Oriented Transient Communication (Socket)

Ini adalah model komunikasi berorientasi pesan yang paling sederhana, transient (sementara), yang ditawarkan langsung oleh transport layer. Contoh paling umum adalah Socket.

Alur Socket:

  • Server:

    1. socket(): Membuat endpoint komunikasi.

    2. bind(): Mengaitkan socket dengan alamat (IP & port).

    3. listen(): Menandakan siap menerima koneksi.

    4. accept(): Blocking (menunggu) sampai ada client yang terhubung, lalu membuat socket baru untuk koneksi itu.

  • Client:

    1. socket(): Membuat endpoint komunikasi.

    2. connect(): Blocking (mencoba terhubung) ke socket server.

Synchronization Point terjadi saat connect() dan accept() bertemu. Setelah itu, kedua sisi bisa berkomunikasi menggunakan read() dan write().

Contoh implementasi level tinggi dari model ini adalah MPI (Message Passing Interface), yang populer di high-performance computing.

3. Message-Oriented Persistent Communication (MOM)

Model ini juga dikenal sebagai Message Queuing System atau Message-Oriented Middleware (MOM). Ini adalah komunikasi persistent (tetap ada) dan asynchronous.

Ide Utama: Aplikasi berkomunikasi dengan cara memasukkan pesan ke dalam antrian (queues) spesifik. Middleware (Sistem Antrian) bertanggung jawab menyimpan pesan itu dan meneruskannya (mungkin melalui beberapa communication server / router) sampai akhirnya terkirim ke queue penerima.

Arsitektur (Slide 14):

  • Sender A memiliki Send queue. Ia menaruh pesan di sana.

  • Router (R1, R2) adalah server middleware yang memindahkan pesan antar queue.

  • Receiver B memiliki Receive queue. Router menaruh pesan di sini, dan aplikasi Receiver B mengambilnya saat siap.

Fleksibilitas:

Model ini mengizinkan decoupling penuh dalam waktu. Keempat skenario ini valid:

a. Sender running, Receiver running.

b. Sender running, Receiver passive (pesan akan menumpuk di queue receiver).

c. Sender passive, Receiver running (receiver bisa mengambil pesan yang dikirim tadi).

d. Sender passive, Receiver passive.

4. Message Broker

Masalah dengan message queuing dasar adalah ia mengasumsikan semua aplikasi “setuju” pada format pesan yang sama (struktur, representasi data).

Message Broker adalah komponen terpusat yang ditambahkan untuk menangani heterogeneity (keberagaman) aplikasi.

Fungsi Message Broker:

  1. Transformasi Pesan: Mengubah (konversi) format pesan. Misal: Aplikasi A kirim XML, broker mengubahnya jadi JSON untuk Aplikasi B.

  2. Application Gateway: Bertindak sebagai gerbang masuk/keluar untuk aplikasi.

  3. Subject-Based Routing: Mengarahkan pesan berdasarkan isi atau topik pesan, bukan hanya tujuan akhir. (Contoh: Event “NewOrder” bisa dikirim ke queue Inventory dan queue Notification).

Summary

Model Message-Oriented (MOM) berfokus pada pengiriman pesan, baik secara Transient (lewat Socket) yang sinkronus, atau secara Persistent (lewat Message Queuing / MOM) yang asinkronus. Model queuing sangat fleksibel karena pesan disimpan dan di-routing, memungkinkan sender/receiver tidak perlu aktif bersamaan. Message Broker adalah komponen tambahan yang menangani transformasi dan routing pesan yang kompleks di lingkungan yang heterogen.