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:
Message-Oriented Communication (MOM)
Remote Procedure Call (RPC)
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:
socket(): Membuat endpoint komunikasi.
bind(): Mengaitkan socket dengan alamat (IP & port).
listen(): Menandakan siap menerima koneksi.
accept(): Blocking (menunggu) sampai ada client yang terhubung, lalu membuat socket baru untuk koneksi itu.Client:
socket(): Membuat endpoint komunikasi.
connect(): Blocking (mencoba terhubung) ke socket server.Synchronization Point terjadi saat
connect()danaccept()bertemu. Setelah itu, kedua sisi bisa berkomunikasi menggunakanread()danwrite().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:
Transformasi Pesan: Mengubah (konversi) format pesan. Misal: Aplikasi A kirim XML, broker mengubahnya jadi JSON untuk Aplikasi B.
Application Gateway: Bertindak sebagai gerbang masuk/keluar untuk aplikasi.
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).
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.
Additional Information
Pendalaman: Socket vs. Message Queue
Socket (Transient):
Analogi: Panggilan telepon.
Anda harus tahu alamat (IP:Port) penerima.
Keduanya harus “online” saat bersamaan.
Jika penerima sibuk, Anda harus coba lagi.
Low-level, cepat, point-to-point.
Message Queue (Persistent):
Analogi: Kantor Pos (dengan kotak surat).
Anda hanya perlu tahu alamat “Kantor Pos” (broker).
Anda taruh surat (pesan) dan bisa langsung pergi (async).
Penerima akan cek kotak suratnya (queue) saat dia siap.
High-level, lebih lambat, decoupled, sangat reliable.
Tools Populer
Message Queuing: RabbitMQ, ActiveMQ, AWS SQS, Google Cloud Pub/Sub.
Message Broker (sering juga streaming platform): Apache Kafka (sangat populer untuk subject-based routing dan streaming).
Eksplorasi Mandiri
- Cari tahu perbedaan antara model “Queue” (Point-to-Point, 1-to-1) dan “Topic” (Publish/Subscribe, 1-to-N) dalam sistem MOM. (Hint: Message Broker di Slide 15 lebih mirip Publish/Subscribe).



