Sunday, September 9, 2018

Spring Boot - RabbitMQ


oke Kali ini saya akan membagi pengalaman belajar saat mencoba menggunakan Spring boot dengan rabbitMQ, Sebelum memulainya kita berkenalan dulu dengan rabbitMQ.

Apa ituRabbitMQ?
- RabbitMQ adalah Software antrian yang digunakan untuk pengiriman pesan. (produce/consumer).

- Pengiriman pesan dari produce ke consumer menggunakan konsep queue.(antrian)
- RabbitMQ juga menggunakan AMQP untuk transportasi data.

nah itu tadi pengenalan tentang rabbitMQ, dan rabbitMQ juga disebut Message Broker, makin bingung ya, hmmm jadi disini di uraikan apa itu message broker : 


 -Message Broker dapat bertindak sebagai perantara untuk berbagai layanan misalnya aplikasi web mengirim data ke server dan dapat digunakan untuk mengurangi beban dan waktu pengiriman.
-Message Broker diibaratkan sebagai kantor pos sekaligus tukang pos.
-Flownya adalah pesan yang di kirim oleh producer diterima oleh message broker untuk kemudian disimpan di dalam queue dan pesan tersebut akan di forward satu-satu kepada receiver.
jadi rabbitMQ adalah software message broker dengan berkonsep queue dalam menampung pesan.

so, kita bahas Queue :
-Queue adalah antrian
-Queue bersifat FIFO (first in first out)
-Elemen yang pertama masuk ke antrian (queue) akan keluar pertama kalinya.
 
Dibawah ini adalah flow Queu :
 
nah jadi kita semakin mengenal ya software rabbitMQ, kapan kita menggunakannya? 
- ketika mendistribusikan pesan ke banyak penerima untuk di konsum  
- untuk menyeimbangkan beban saat pengiriman. 
- pengiriman pesan dari satu aplikasi ke aplikasi lainnya
- untuk memberikan notifikasi, ketika terjadi error atau maintenance di sebuah aplikasi dengan
  memberitahu kepada user.
- jika tedapat perhitungan yg rumit yang membutuhkan waktu dalam memprosesnya maka data bisa
  langsung masuk ke dalam antrian untuk di proses.
 
 gambar di atas adalah arsitektur rabbitMq
 
. Skrng kita praktekan Spring boot dengan rabbitMq.

pertama buat project Spring boot dan tambahkan dependencynya 


dan skrng kita buat Controllernya.
bisa kita lihat disini controller di project yang kita buat sebagai aplikasi untuk mempublish pesan kemudian kita inject Publisher


dan jangan lupa kita tambahkan di file application.properties bisa di lihat di gambar di bawah ini


nah Skrng setelah kita bisa membuat aplikasi projject publishernya skrng kita buat project lagi sebagai aplikasi consumer
masih sama dengan langkah langkah saat membuat aplikasi publisher, hanya saja untuk project consumer dapat kita lihat pada gambar di bawah ini :


dan untuk application.propertiesnya dapat di lihat pada gambar sebagai berikut:

skrng kita jalan dan kita kirim pesan melalui project yang sudah kita buat sebagai publisher. kemudian kita buka postman untuk mengirim pesan ke consumer

nah pesan berhasil terkirim skrng kita cek log di project publisher kita.


nah dapat di lihat lognya pesan berhasil terkirim dengan tulisan hello word sesuai yang kita kirim.
skrng kita cek project consumer apakah pesan berhasil di terima atau tidak.
dapat di lihat log pada project consumer pesan berhasil di terima .

oke, jadi cukup sampai disini tulisan saya kali ini, semoga bermanfaat





No comments:

Post a Comment