Belajar PubSub dari awal dari 0!

By | 26 Juni 2019

Assalamu ‘alaikum, hari ini hari yang sangat cerah dan penuh semangat. Tepat pada hari ini(Rabu, 26/06/2019), saya memulai belajar hal baru. Yaitu mengimplementasikan PubSub pada aplikasi saya.

Cara Lama #1:
Mari kita bayangin, ada data statistik yang dipantau oleh 12 orang via browser. Karena datanya harus realtime, maka di oleh programmernya di program browser-nya ngambil data baru setiap 1 second. jadi setiap second akan ada request baru ke server. kalau ada 2 client ya 12 request yang masuk ke server setiap second. Kalau datanya tak terlalu besar dan banyak mungkin masih realible untuk dipakai. Tapi, jika datanya cukup banyak, maka akan sangat membebankan pada server. Terutama, dari sisi client akan selalu merequest walau sebenernya tidak ada perubahan data pada server. Tentu dong request-nya kayak mubazir. Lalu, gimana caranya agar tidak mubazir? Lanjut pada cara lebih baru.

Cara Baru #2:
Client akan merequest ke server lalu server menjawab sekaligus jika ada perubahan data server akan mengirimkan data kembali. Lah, kok bisa? iya bisa, dengan menggunakan protokol websocket itu dapat dilakukan. Dengan teknologi websocket ketika client merequest dan mendapatkan response dari server koneksi tidak diputus. Karena koneksi tidak diputus, maka memungkinkan server mengirim data kembali. Berbeda dengan cara lama(http), dimana ketika client mendapatkan response dari server, koneksi akan diputus. Makanya, menggunakan cara lama untuk monitoring sangat tidak realible untuk saat ini.

Cara Baru #3:
Ketika menggunakan websocket, koneksi menjadi banyak(karena tidak diclose itu). Maka dari itu, butuh banyak resource aplikasi yang berjalan. Seakan 1 client membutuhkan 1 aplikasi di server yang berjalan terus-menerus memantau perubahan data. Nah, ini kelemahan juga. (ya kali kalau ada yang memprogram seperti itu. 😀 ).
Untuk mengatasi hal tersebut, maka dijalankanlah 1 aplikasi yang mengurus urusan koneksi dan pertukaran data server-client. Kita sebut aplikasi itu pubsub. Dan aplikasi kita, hanya memantau perubahan data, lalu menyampaikan ke pubsub, kepada siapa saja nanti data itu dikirim, itu urusan pubsub. Jadi sekarang aplikasi kita seakan jauh lebih flexible. Aplikasi kita tak lagi mengurus koneksi. Aplikasi kita hanya memantau perubahan data lalu menyampaikannya ke pubsub. Pubsub-lah yang nantinya mendistribusikan datanya.

oia, kepanjangan PubSub itu sebenernya Publish/Subcribe. Jadi, nantinya, sisi client akan mensubcribe topik, dan sisi server akan mempublish data sesuai topiknya. Jadi akan jauh lebih efisience.

Memilih Aplikasi PubSub. (Message broker).
saya memilih kafka, apa alasannya? Karena ada banyak aplikasi pubsub di luaran sana, dan saya harus memilih 1. Jadilah kafka. Pilih aja satu diantara banyak pilihan itu. 🙂
kadang memilih random itu lebih bijak. 😀

oia, ada koreksi. Aplikasi PubSub itu biasa disebut message broker. Nah, nanti aku akan berbagi cerita gimana susah payahnya belajar message broker` (dalam hal ini adalah kafka).

Oke, lanjut ke postingan-postingan selanjutnya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.