Email dan SMS transaksional
Pesan pendaftaran, tanda terima, dan reset diantrekan oleh aplikasi web dan dikirim oleh kumpulan worker.
Antrean FIFO yang tidak kehilangan pekerjaan saat worker mati, dengan produsen dan konsumen berjalan secara paralel.
Layanan mana pun menambahkan pekerjaan tanpa menunggu konsumen.
Panduan beranimasi dengan perintah HotKV yang sebenarnya dan balasan contoh. Klik langkah mana pun untuk melompat ke sana. Perintah dan balasan tetap dalam bahasa Inggris, persis seperti yang Anda ketik dan lihat di HotKV.
Pekerjaan latar belakang seperti email, pengubahan ukuran gambar, dan webhook memerlukan antrean antara kode yang membuatnya dan kode yang mengerjakannya. Antrean yang kehilangan pekerjaan saat worker crash di tengah tugas lebih buruk daripada tanpa antrean, karena tidak ada yang menyadari pekerjaan itu hilang.
List memberi Anda antrean FIFO sederhana. BLMOVE memindahkan setiap pekerjaan ke list pemrosesan saat diserahkan kepada worker, sehingga pekerjaan yang sedang berjalan selalu tersimpan di suatu tempat jika worker itu menghilang. Produsen dan konsumen dilayani oleh worker thread paralel.
Layanan mana pun menambahkan pekerjaan tanpa menunggu konsumen.
LPUSH queue:emails "{\"to\":\"ada@example.com\",\"tpl\":\"welcome\"}"BLMOVE memblokir sampai pekerjaan tersedia, lalu memindahkannya ke list pemrosesan dalam satu langkah.
BLMOVE queue:emails queue:emails:processing RIGHT LEFT 0Email sudah terkirim. Pekerjaan dihapus dari list pemrosesan.
LREM queue:emails:processing 1 "{\"to\":\"ada@example.com\",\"tpl\":\"welcome\"}"Worker 2 mati di tengah pekerjaan. Pekerjaannya masih di list pemrosesan, tidak hilang.
LRANGE queue:emails:processing 0 -1Sebuah monitor memindahkan pekerjaan yang ditinggalkan kembali ke antrean dan worker lain mengambilnya.
LMOVE queue:emails:processing queue:emails LEFT RIGHTPesan pendaftaran, tanda terima, dan reset diantrekan oleh aplikasi web dan dikirim oleh kumpulan worker.
Unggahan diantrekan untuk pembuatan thumbnail dan transcoding, dan transcoder yang crash tidak pernah menjatuhkan file.
Webhook keluar diantrekan dan dicoba ulang tanpa memblokir permintaan yang memicunya.
LPUSH dengan BRPOP, dan worker tidur sampai pekerjaan tiba.
LPUSHBRPOPBLMOVE menyerahkan setiap pekerjaan ke list pemrosesan secara atomik.
BLMOVELREMProdusen dan konsumen dilayani oleh worker thread paralel.
Untuk acknowledgement, consumer group, dan pemutaran ulang, gunakan stream.
XADDXREADGROUPJika Anda mengklaim pekerjaan dengan BLMOVE, pekerjaan berada di list pemrosesan. Sebuah monitor dapat memindahkan apa pun yang berada di sana terlalu lama kembali ke antrean.
Tidak. BRPOP dan BLMOVE memblokir sampai pekerjaan tiba, dengan timeout opsional.
List adalah antrean paling sederhana. Stream menambahkan consumer group, acknowledgement per pesan, dan riwayat. Lihat kasus penggunaan streaming peristiwa.
HotKV berbicara protokol Redis, jadi Anda dapat mengarahkan klien yang sudah ada ke HotKV dan menjalankan perintah yang sama.