Konsep Dasar Messaging pada Arsitektur Event Driven
Istilah messaging merujuk pada teknologi komputer yang memungkinkan sistem komputer membagi informasi dengan sistem komputer lain tanpa terkoneksi langsung ke sumber dan lokasi keberadaannya.
Messaging juga dikenal dengan sebutan message oriented middleware (MOM) atau middleware.
Messaging dianalogikan sebagai surat yang dikirim oleh tukang pos atau jasa pengiriman surat. Anda akan mempercayakan surat atau paket anda kepada kurir dan mengirimkan kealamat yang anda terapkan diamplop surat tersebut.
Jadi messaging adalah surat dan,
Event broker adalah tukang pos atau kurir pengantar paket dan surat.
Messaging terdiri dari:
- Publisher yaitu pengirim surat;
- Message adalah isi dari surat, nama pengirim, alamat yang dituju, nama si penerima, alamat si penerima, berisi perintah atau informasi;
- Subscriber adalah si penerima surat;
Messaging pada dasarnya berisi alamat sipenerima surat. Didalam Pubsub+ event broker, destinasi atau tujuan dari surat ditandai dengan topik atau queue:
- Topik adalah sebuah message/surat yang ditujukan kepada banyak orang atau subscribers (surat edaran);
- Queue adalah message yang ditujukan kepada satu orang saja atau subscriber.
Jenis layanan messaging bisa terbagi menjadi dua yaitu "persistent" (guaranteed) atau "non-persistent" (direct) yang dispesifikasikan oleh publisher atau sipengirim surat.
Analogi daripada persistent messaging adalah tukang pos anda akan menduplikat surat anda sesuai dengan aslinya dan menyimpannya diarsip surat. Setelah itu anda akan diberitahu bahwasanya surat anda telah berhasil diduplikat dan disimpan ditempat yang aman. Kemudian surat anda kan diteruskan ke alamat yang dituju dan diterima dengan baik oleh penerima, setelah itu duplikasi surat tersebut akan dihapus dari arsip surat. Apabila sipenerima sedang tidak berada dirumah maka tukang pos akan tetap menyimpan surat anda diarsip surat. Sampai sipenerima benar-benar mengkonfirmasi sendiri bahwasanya surat telah sampai dialamat yang dituju.
Baca Juga: Event Streaming dalam Bisnis Digital Real-Time
Analogi daripada non-persistent messaging adalah tukang pos anda langsung mengirim surat kealamat tujuan. Apabila sipenerima sedang tidak berada dirumah maka ada kemungkinan surat anda dapat hilang. Jika surat anda adalah dokumentasi berharga maka anda tidak disarankan mengirimkan surat dengan metode non-persistent ini.
Ada 3 jenis pertukaran message yaitu publish/subscribe, point-to-point, request-reply.
- Publish/subscribe adalah satu surat diterima oleh banyak orang atau dalam kehidupan sehari-hari seorang guru mengedarkan surat kepada murid-muridnya (direct messaging).
- Point-to-point adalah satu surat diterima oleh satu penerima atau seorang guru memberikan surat panggilan kepada satu murid yang bolos (guaranteed messaging). Dengan point-to-point anda juga bisa mengirim surat kepada PIC kelompok tertentu.
- Request/reply adalah satu surat dikirim kepada satu penerima sambil menunggu balasan atas surat tersebut. Contohnya anda mengirim surat kepada pacar anda kemudian anda meminta dia membalas isi surat tersebut (guaranteed messaging).
Kapan Anda menggunakan direct messaging?
- Ketika anda membutuhkan pengiriman yang super cepat dengan konsekuensi adanya surat yang tidak sempat dibuka oleh sipenerima karna sedang tidak berada ditempatnya atau sedang sibuk.
Kapan Anda menggunakan guaranteed messaging?
- Anggap saja anda mengirimkan surat berharga kepada orang lain dan mentoleransi jangka waktu pengiriman. Artinya surat tersebut tidak boleh hilang atau rusak diperjalanan dan harus sampai ke si penerima dengan baik serta dikonfirmasi oleh penerima sendiri.
Message VPN
Message VPN adalah kemampuan broker memisahkan antara topik dan client. Contohnya adalah Whatsapp group. Sehingga apapun yang anda tulis digrup chat tersebut tidak bisa dilihat atau dikonsumsi oleh grup lain.
Siapa itu client?
Analoginya adalah pengirim surat dan penerima surat adalah client daripada tukang pos atau jasa pengiriman. Atau setiap aplikasi atau devices yang connect ke event broker disebut dengan client.
Client harus memiliki username
Layaknya anda sebagai pengirim surat, maka anda harus mencantumkan nama anda dan info lain diamplop surat dan dicatat oleh tukang pos sebagai identitas pribadi anda.
Selain itu client juga harus memiliki client profile.
Client profile digunakan oleh tukang pos untuk mengatur kapabilitas pengiriman seperti: jika anda ingin surat anda cepat sampai ditujuan maka anda harus membayar dengan biaya tinggi atau sebaliknya, sesuai dengan jenis jasa yang tersedia pada tukang pos.
Topik
Topik adalah pengelompokan jenis message/surat. Contohnya tukang pos mengelompokkan surat yang akan dikirim ke Jakarta dan memisahkannya dengan surat yang akan dikirim ke Surabaya.
Endpoints dan queues
Pada Solace Pubsub+, guaranteed messages disimpan pada event broker endpoints. Terdapat dua jenis endpoints pada pubsub+ event broker yaitu queues dan topic endpoint. Pada kebanyakan skenario, queue endpoint adalah superset dari topik endpoint. Topic endpoints umumnya banyak digunakan oleh JMS.
Sedangkan queue adalah sistem antrian message pada event broker. Selanjutnya message akan disimpan didalam disk agar message bisa dikirim ulang kalau aplikasi-aplikasi client dalam keadaaan offline. Client harus memberikan ACK kepada broker apabila message sudah diterima dengan baik.
Sumber: Solace