Lebih dari sekadar database, Redis juga dapat bertindak sebagai pesan broker yang mendukung operasi penerbitan dan berlangganan (pub/sub). Blog ini akan memberikan gambaran singkat tentang kemampuan Pub / Sub Redis menggunakan Navicat for Redis.
Tentang paradigma pesan Publikasikan/Berlangganan
Pub / Sub adalah pola di mana pengirim (broadcaster) tidak dapat mengirim pesan ke penerima tertentu (pelanggan). Sebaliknya, pesan yang dipublikasikan dikirim melalui channel, tanpa pengetahuan berapa banyak (jika ada) pelanggan yang mendengarkan. Pelanggan kemudian mendaftar untuk satu atau lebih channel sehingga mereka hanya menerima pesan yang menarik bagi mereka. Memisahkan penerbit dan pelanggan dengan cara ini memungkinkan skalabilitas yang lebih besar dan membuatnya lebih mudah untuk mengelola aliran informasi dalam sistem yang kompleks.
Redis Pub/Sub menyediakan solusi perpesanan yang ringan, cepat, dan dapat diskalakan yang dapat digunakan untuk berbagai tujuan, seperti pemberitahuan real-time, mengirim pesan antar layanan mikro, atau berkomunikasi antara berbagai bagian dari satu aplikasi.
Pengiriman Pesan di Redis
Redis menggunakan sistem pengiriman pesan paling banyak sekali. Seperti namanya, itu berarti bahwa pesan akan dikirim hanya sekali, jika sama sekali. Dengan demikian, setelah pesan dikirim oleh server Redis, pesan tidak pernah dikirim lagi. Jika pelanggan tidak dapat menerima pesan (misalnya, karena kesalahan atau pemadaman jaringan) pesan akan hilang selamanya. Sama seperti menonton acara favorit Anda di radio, jika Anda melewatkannya, Anda kurang beruntung. Jika aplikasi Anda memerlukan jaminan pengiriman yang lebih kuat, Anda harus menggunakan Redis Streams sebagai gantinya.
Selain itu, Pub / Sub tidak memiliki hubungan dengan ruang key. Ini berarti bahwa pesan yang dipublikasikan di database 10 akan didengar oleh pelanggan di database 1. Jika Anda perlu pelingkupan, Redis menyarankan prefixing nama channel (yaitu, prod_mychannel, test_mychannel).
Penerbitan dengan Navicat for Redis
Di Navicat for Redis (atau Navicat Premium), kita dapat mengakses layar Pub/Sub melalui tombol Pub/Sub pada toolbar utama. Dari sana, kita dapat mempublikasikan pesan menggunakan Panel Penerbitan:
Di Redis, channel tidak dibuat secara eksplisit oleh pengguna. Channel dibuat secara otomatis ketika pesan pertama diterbitkan atau klien berlangganan mereka. Untuk mendemonstrasikan, kita akan membuka dua koneksi dengan server Redis yang sama. Setiap koneksi akan bertindak sebagai klien yang berbeda. Koneksi pertama akan berlangganan "test_channel", sedangkan yang kedua akan mempublikasikan pesan ke channel yang sama. Dengan demikian, kami berharap pesan kami akan dikirim ke pelanggan segera setelah dipublikasikan.
Untuk berlangganan channel di Navicat, kita hanya perlu mengklik tombol Berlangganan. Itu akan membuka Dialog Berlangganan:
Di sana, kita akan memasukkan nama channel - "test_channel" - dan kemudian klik Berlangganan. Setelah dialog ditutup, channel akan muncul di daftar Channel, beserta rekaman tindakan subscribe:
Untuk mempublikasikan pesan di Navicat, kami akan memilihnya di daftar Channel (ini adalah default karena kami hanya memiliki satu channel pada saat ini), masukkan pesan di Field teks Pesan, dan klik Terbitkan. Pada saat itu, kita akan melihat pemberitahuan bahwa pesan telah diterima:
Kesimpulan
Di blog ini, kami menjelajahi kemampuan Pub/Sub Redis menggunakan Navicat for Redis.
Tertarik untuk mencoba Navicat for Redis. Unduh di sini. Versi uji coba berfungsi penuh selama 14 hari.