Antrean pesan adalah komponen dari solusi middleware perpesanan yang memungkinkan aplikasi dan layanan independen untuk bertukar informasi.
Antrean pesan menyimpan "pesan" atau paket data yang dibuat oleh aplikasi untuk digunakan oleh aplikasi lain sesuai dengan urutan pengirimannya hingga aplikasi yang mengkonsumsi dapat memprosesnya. Hal ini memungkinkan pesan menunggu dengan aman hingga aplikasi penerima siap, sehingga jika ada masalah dengan jaringan atau aplikasi penerima, pesan dalam antrean pesan tidak akan hilang.
Model ini, yang dikenal sebagai pesan asinkron, mencegah kehilangan data dan memungkinkan sistem untuk terus berfungsi jika proses atau koneksi gagal. Hal ini memungkinkan pengembang untuk menjaga proses dan aplikasi tetap terpisah, menjaga komunikasi mereka tetap mandiri dan digerakkan oleh peristiwa untuk membuat arsitekturnya lebih andal.
Antrean pesan tersedia dalam solusi perpesanan di berbagai opsi penerapan, termasuk peralatan fisik yang dioptimalkan, layanan cloud, mainframe, dan sebagai perangkat lunak.
Solusi antrean pesan banyak digunakan di seluruh industri. Mereka menawarkan berbagai manfaat bagi pengembang dan administrator sistem, termasuk yang berikut:
Lingkungan komputasi perusahaan saat ini kompleks dan sangat terdesentralisasi. Perpesanan mempermudah integrasi aplikasi dan layanan pada beragam platform dengan menyediakan tulang punggung perpesanan bersama yang kuat dan aman. Ini melindungi dari kehilangan data dan memastikan bahwa sistem terus berfungsi bahkan dengan konektivitas yang tidak stabil.
Antrean pesan secara unik cocok untuk mengintegrasikan sistem backend lokal dengan layanan cloud. Dalam arsitektur cloud, aplikasi sering dipecah menjadi komponen-komponen kecil yang independen. Ini membuatnya lebih mudah untuk merancang dan mengkodekannya, dan juga lebih mudah untuk mengelola kinerjanya. Antrean pesan memungkinkan aplikasi berbasis cloud yang dipisahkan ini untuk berkomunikasi satu sama lain atau dengan sistem lokal.
Antrian pesan meningkatkan ketahanan arsitektur karena pesan dapat memiliki persistensi. Ini berarti mereka disimpan ke disk hingga layanan yang menerima pesan mengonfirmasi pemrosesan. Antrian pesan dapat digunakan dalam skenario yang membutuhkan tingkat keamanan, toleransi kesalahan, dan akurasi yang tinggi, seperti pemrosesan transaksi keuangan, pemesanan perjalanan udara, atau memperbarui catatan pasien layanan kesehatan.
Antrian pesan juga dapat digunakan untuk memungkinkan aplikasi dan sistem yang berada di cloud yang berbeda (baik cloud publik maupun cloud privat) untuk berkomunikasi, meskipun mereka berada di negara yang berbeda atau bahkan di benua yang jauh. Menggunakan antrean pesan meningkatkan toleransi kesalahan dan dapat digunakan untuk mencegah data terduplikasi atau hilang di seluruh sistem yang berbeda secara geografis dan teknis. Karena setiap layanan dalam sistem dipisahkan, atau secara logis terpisah dari yang lain, masing-masing dapat terus berfungsi jika layanan atau aplikasi lain gagal atau terhenti.
Antrean pesan bekerja di aplikasi yang berbeda seperti mobile, IoT, dan catatan sistem transaksi tradisional. Mereka juga mendukung berbagai platform, seperti mesin virtual dan kontainer, dan dapat memungkinkan integrasi antara aplikasi lama dan solusi terbaru saat ini.
Antrean pesan menggunakan pola pengiriman pesan point-to-point, di mana satu aplikasi (disebut pengirim) mengirim pesan ke antrean dan aplikasi lain (disebut penerima) mendapatkan pesan dari antrean dan menggunakannya. Harus ada hubungan satu-ke-satu yang erat antara pengirim dan konsumen, dan setiap pesan harus dikonsumsi hanya sekali.
Jika aplikasi Anda mengharuskan pesan didistribusikan ke banyak pihak, beberapa antrean pesan dapat digabungkan atau model terbitkan/berlangganan (pub/sub) pesan dapat digunakan.
Dalam pesan pub/sub, aplikasi yang menghasilkan pesan disebut penerbit dan aplikasi yang menggunakannya adalah pelanggan. Setiap pesan dipublikasikan ke sebuah topik, dan setiap aplikasi yang berlangganan topik tersebut mendapatkan salinan semua pesan yang dipublikasikan ke topik tersebut.
Sebagian besar solusi middleware perpesanan mendukung model antrean pesan (point-to-point) dan pesan pub/sub.
Bus pesan, yang merupakan jenis bus layanan perusahaan atau ESB, memungkinkan layanan akses ke data di mana-mana sekaligus memastikan bahwa mereka tetap terpisah dan berfungsi secara independen dalam arsitektur sistem terdistribusi. Saat Anda menggunakan bus pesan, semua layanan atau aplikasi harus berbagi tipe data yang sama, kumpulan perintah umum, dan protokol komunikasi umum (meskipun mungkin ditulis dalam bahasa yang berbeda). Konsumen dapat menentukan cara mereka menggunakan pesan.
Jika aplikasi yang dipisahkan harus berkomunikasi melalui bus pesan, pesan harus diubah sehingga semuanya memiliki tipe yang sama. Sebaliknya, antrean pesan mengangkut pesan, apakah mereka dari jenis yang sama atau berbeda.
Aplikasi dapat berkomunikasi langsung melalui layanan web atau API berdasarkan protokol standar, seperti Simple Object Access Protocol (SOAP) atau HTTP, bukan melalui middleware perpesanan. Layanan web digunakan secara luas dalam sistem terdistribusi, yang relatif sederhana dan mudah diimplementasikan, menjadikannya alternatif yang layak untuk antrean pesan dalam contoh penggunaan dan skenario tertentu.
Namun, tidak seperti antrean pesan, layanan web tidak dapat menjamin pengiriman pesan. Jika server atau koneksi gagal, Anda harus membangun kemampuan untuk menangani kesalahan dalam klien. Layanan web juga tidak memiliki model distribusi pub/sub. Middleware perpesanan menawarkan toleransi kesalahan yang lebih besar dan kemampuan yang lebih baik untuk menangani lalu lintas padat atau ledakan aktivitas.
Untuk mempelajari lebih lanjut tentang kapan menggunakan API, kapan harus menggunakan pesan, atau kapan harus menggunakan keduanya, lihat “Pengantar API dan pesan.”
Basis data dapat digunakan sebagai alternatif antrean pesan dalam situasi tertentu. Namun, mereka melayani tujuan yang berbeda dan tidak mudah dipertukarkan sebagian besar waktu. Basis data paling sering digunakan untuk penyimpanan, dan memungkinkan Anda mengakses informasi yang sama berulang kali. Antrean pesan tidak dapat digunakan untuk tujuan penyimpanan. Setelah pesan dikonsumsi, pesan itu dihapus dari antrean.
Merancang fungsionalitas seperti antrean pesan ke dalam basis data dimungkinkan, tetapi membutuhkan banyak upaya dan pengetahuan pengodean. Basis data hanya dapat digunakan untuk mereplikasi struktur antrean sederhana dan tidak dapat diskalakan untuk aplikasi yang lebih besar.
Lihat “Gambaran Singkat lingkungan Basis Data” untuk informasi lebih lanjut tentang basis data dan kemampuannya.
Antrean pesan secara tradisional dikelola oleh tim khusus di dalam TI. Tetapi pengiriman “sebagai layanan”, menggunakan antrean pesan yang di-host cloud dapat memungkinkan individu atau pengguna lini bisnis (LOB) untuk meminta perubahan pada infrastruktur perpesanan mereka sendiri, melalui portal, yang dapat meningkatkan ketangkasan.
Antrean pesan sebagai layanan secara alami bekerja dengan baik dalam arsitektur tanpa server atau layanan mikro yang umum dalam pengembangan cloud native. Karena ditawarkan dalam model layanan yang di-host cloud, penyedia cloud menangani semua penyediaan, instalasi, dan pemeliharaan infrastruktur perpesanan Anda, dan dihosting di cloud.
Tutorial ini akan membantu jika Anda baru dalam mengembangkan aplikasi yang berkomunikasi melalui IBM MQ:
Sumber daya tambahan akan memberi Anda gambaran yang lebih komprehensif:
Otomatisasi yang didukung AI meningkatkan ketangkasan di seluruh API, aplikasi, acara, file, dan B2B/EDI.
Buka potensi bisnis dengan solusi integrasi IBM, yang menghubungkan aplikasi dan sistem untuk mengakses data penting dengan cepat dan aman.
Buka kemampuan baru dan pendorong ketangkasan bisnis dengan layanan konsultasi IBM cloud. Temukan cara menciptakan solusi berkreasi bersama, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.