Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume
Pola pengiriman pesan dengan queue dan consume memastikan pesan sampai kepada konsumen secara 100%. Hal ini dilakukan untuk mencegah data hilang ditengah jalan. Setiap pesan yang di generate oleh publisher akan ditangani dalam satu sistem antrian (queue) pada event broker sampai konsumen benar-benar siap untuk menerima pesan.
Sebagai contoh, ketika terjadi suatu masalah pada aplikasi konsumen maka event broker akan menahan setiap pesan yang datang dari publisher dan menunggu sampai aplikasi konsumen pulih kembali, setelah itu pesan akan otomatis diterima oleh aplikasi konsumen. Pola pengiriman pesan dengan queue ini sangat tepat diterapkan pada aplikasi mission-critical seperti kartu kredit, online payment dan lain-lain.
Pada tutorial kali ini kita akan mengintegrasikan sebuah aplikasi chat sederhana untuk terhubung ke message broker solace. Setiap pesan yang dipublish akan masuk ke queue pada https://solace.com/products/event-broker/cloud/ dan akan diterima oleh aplikasi chat ini sendiri.
Untuk persiapan lakukan instalasi tools berikut untuk mengikuti tutorial ini:
1. Java Development Kit (JDK) 1.8 keatas
2. Apache Maven
3. Sign up ke solace event broker cloud (free)
4. Git dan Github version control
5. Text editor
Memulai aplikasi:
1. Untuk mendapatkan source code bisa pull dari Github Solace Training.
2. Kemudian checkout ke developer-exercise-2 pada git version control.
3. Unduh Solace client Javascript library atau menggunakan NPM package manager dengan command npm install solclientjs
4. Simpan solclientjs library di folder src->main->resource->static
5. Sign in ke Solace pubsub+ event broker sekaligus membuat messaging service.
6. Buat queue pada messaging service yang telah dibuat sebelumnya.
7. Menambahkan queue baru pada tombol tab queues disebelah kanan atas.
8. Membuat nama queue (contoh: SOLACE_CHAT).
9. Masuk ke tab subscription dan tambahkan subscription baru (contoh: solace/chat). Step ini berhubungan dengan step pada poin 12.
10. Buka aplikasi yang sudah di pull dari https://github.com/SolaceTraining/fundamentals-of-solace-dev dengan text editor favorit kalian.
11. Duplicate file application-properties-template.js dan application-template.properties lalu rename file tersebut menjadi application-properties.js dan application.properties.
12. Edit file application-properties.js dengan menginputkan properties yang ada di solace pubsub+ cloud.
13. Edit file pubsubplusbroker.js dengan menambahkan kode berikut ini pada method publish.
14. Jalankan command mvn spring-boot:run pada terminal.
15. Buka http://localhost:8081 pada web browser dan ketikkan beberapa pesan.
16. Cek/refresh status service queue yang sebelumnya dibuat. Terdapat beberapa pesan yang telah diterima oleh queue dari publisher.
17. Kembali ke text editor kemudian tambahkan kode berikut pada method consume pada file pubsubplusbroker.js
18. Restart mvn spring-boot:run
19. Refresh http://localhost:8081. Semua pesan yang sebelumnya di tahan di queue kemudian diterima seluruhnya di aplikasi chat consumer.
20. Cek kembali status queue dan kemudian refresh. Secara otomatis queue akan kosong karna data telah berhasil terkirim ke konsumen.
Sumber: Solace