Showing posts with label publisher. Show all posts
Showing posts with label publisher. Show all posts

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





Sunday, March 18, 2018

Pembuatan Producer dan Consumer Service pada Oracle Service Bus Console 12c

Setelah menjelaskan tentang tata cara pembuatan JMS Topic pada weblogic 12c, saya ingin menjelaskan pembuatan Producer Consumer (berdasarkan Queue) atau Publisher Subscriber Service (Berdasarkan Topic) pada OSB Console 12c, pembuatannya cukup mudah dikarenakan kita hanya memerlukan untuk membuat sebuah Proxy Service ataupun Business Service.

Pembuatan Producer (Queue) atau Publisher (Topic), tahap-tahapnya sebagai berikut:
  1. Masuk dalam OSB Console lalu klik tombol Create

                 
  2. Klik Kanan All Projects, Pilih Create, Lalu Klik Project (Langsung ke langkah 4 bila menggunakan projek existing)
                     
  3. Tentukan Nama Projek sebagai contoh "JMSTest"

                    
  4. Klik kanan Projek yang baru saja dibuat lalu pilih Create, lalu klik Resource

                               
  5. Pilih Business Service, lalu pilih Technology, pilih JMS, klik OK

                    

                    

                    
  6. Tentukan nama Resource, tekan Type

                   
  7. Ganti tipe pesan menjadi Messaging Service, ubah tipe request menjadi Text, dan tipe response menjadi None, lalu klik Transport

                   
                 
  8. Ganti Endpoint URI dengan: jms://host:port/{JNDI Connection Factory}/{JNDI Queue atau Topic yang akan di produce}

                  
  9. Masuklah ke service yang baru saja dibuat, lalu masuk ke transport detail, pilihlah jenis Tujuannya apakah Queue (sebagai Producer) atau Topic (Sebagai Publisher)

                 

                 
Pembuatan Producer/Publisher selesai.

Pembuatan Consumer (Queue) atau Subscriber (Topic), cukup mirip dengan pembuatan Producer/Publisher, tahap-tahapnya sebagai berikut:
  1. Masuk dalam OSB Console lalu klik tombol Create

                 
  2. Klik Kanan All Projects, Pilih Create, Lalu Klik Project (Langsung ke langkah 4 bila menggunakan projek existing)

                     
  3. Tentukan Nama Projek sebagai contoh "JMSTest"

                    
  4. Klik kanan Projek yang baru saja dibuat lalu pilih Create, lalu klik Resource

                               
  5. Pilih Proxy Service, lalu pilih Technology, pilih JMS, klik OK

                    

                    

                    
  6. Tentukan nama Resource, hilangkan centang pembuatan pipeline terkecuali bila ingin memroses pesan yang diterima/consume, tekan Type

                   
  7. Ganti tipe pesan menjadi Messaging Service, lalu klik Transport

                   
  8. Ganti Endpoint URI dengan: jms://host:port/{JNDI Connection Factory}/{JNDI Queue atau Topic yang akan di consume}

                  
  9. Masuklah ke service yang baru saja dibuat, lalu masuk ke transport detail, pilihlah jenis Tujuannya apakah Queue (sebagai Consumer) atau Topic (Sebagai Subscriber)

                 

                 

     Bila memilih Topic maka bukalah Advanced Option lalu isilah Client ID dari durable subscriber yang didaftarkan pada weblogic atau untuk membuat durable subscriber baru tanpa membuka weblogic dengan mencentang Durable Subscription yang berada dibawah isian Client ID.

               

    Pembuatan Consumer/Subscriber selesai.

    Sekian penjelasan dari saya, semoga bermanfaat :)