RabbitMQ = message broker = makelar pesan = tukang ngirimin pesan
Artinya, pesan yang akan dikirimkan dari 1 service ke service lain, bakal dikirimin lewat RabbitMQ.
- Kalau service 1 ngirim pesan langsung ke service lain, itu sama kayak kita nganterin surat langsung ke rumah temen kita.
- Kalau pakai message broker, ibarat kita minta tolong ke pak pos buat ngirimin pesan kita ke temen kita.
Jadi, dari video yang saya tonton, message broker punya kemampuan untuk menyimpan pesan yang dikirimkan suatu service ke service lain.
Misal ada service A dan B. Suatu ketika, A mengirim ke B, tapi si B mati. Kalau tanpa Message Broker, pesan yang dibawa dari A akan hilang dan ngereturn Error. Kalau pakai Message Broker, pesan yang dibawa akan disimpen oleh Message Broker dan akan langsung dikirimkan ke si B begitu si B hidup lagi.
misal A berkemampuan 3 proses/detik, sedangkan si B sanggup 1 proses/detik. Kalau tanpa Message Broker, A bakal jadi bottleneck karena masih harus nungguin response dari service B. Kalau dengan Message Broker, service A tetep bakal jalan karena nggk perlu nungguin si B.
Kalau tanpa Message Broker, service A bakal error ketika B juga error. Bayangin kalo udh ketergantungan sama banyak service. 1 service mati ajah bisa error semuanya.
Kalau dengan Message Broker, service A bakal tetep jalan meski service B nggk halan.
Memang service kita jadi nggak ketergantungan sama service lain, tapi jadinya ketergantungan sama Message Broker. Message Broker mati, semua service mati.
Ini belum aku riset lebih jauh. Tapi, karena kita nggk bergantung dengan service lain, artinya kita nggk bisa mengandalkan response dari service yang kita tembak. Melainkan, mengandalkan response yang diberikan RabbitMQ, ya kan? Tapi, kalo salah, mohon koreksinya ajah, bikin issue sana wkwk..
mengirim pesan. Pengirimnya disebut Producer.
Tempat dimana pesan disimpan. 1 Queue bisa berisi banyak pesan dari macam-macam producer.
Menerima pesan. Penerimanya disebut Consumer.