Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Throughput tinggi untuk antrian FIFO di Amazon SQS
Antrian FIFO throughput tinggi di Amazon SQS secara efisien mengelola throughput pesan tinggi sambil mempertahankan urutan pesan yang ketat, memastikan keandalan dan skalabilitas untuk aplikasi yang memproses banyak pesan. Solusi ini sangat ideal untuk skenario yang menuntut throughput tinggi dan pengiriman pesan terpesan.
Antrian FIFO throughput tinggi Amazon SQS tidak diperlukan dalam skenario di mana urutan pesan yang ketat tidak penting dan di mana volume pesan masuk relatif rendah atau sporadis. Misalnya, jika Anda memiliki aplikasi skala kecil yang memproses pesan yang jarang atau tidak berurutan, kompleksitas dan biaya tambahan yang terkait dengan antrian FIFO throughput tinggi mungkin tidak dapat dibenarkan. Selain itu, jika aplikasi Anda tidak memerlukan kemampuan throughput yang ditingkatkan yang disediakan oleh antrian FIFO throughput tinggi, memilih antrian Amazon SQS standar mungkin lebih hemat biaya dan lebih mudah dikelola.
Untuk meningkatkan kapasitas permintaan dalam antrian FIFO throughput tinggi, disarankan untuk meningkatkan jumlah grup pesan. Untuk informasi selengkapnya tentang kuota pesan throughput tinggi, lihat kuota layanan Amazon SQS di Referensi Umum Amazon Web Services.
Untuk informasi kuota per antrian dan strategi distribusi data, lihat Kuota pesan Amazon SQS danPartisi dan distribusi data untuk throughput tinggi untuk antrian SQS FIFO.
Kasus penggunaan untuk throughput tinggi untuk antrian Amazon SQS FIFO
Kasus penggunaan berikut menyoroti beragam aplikasi antrian FIFO throughput tinggi, menunjukkan efektivitasnya di seluruh industri dan skenario:
-
Real-time Pemrosesan data: Aplikasi yang menangani aliran data real-time, seperti pemrosesan peristiwa atau penyerapan data telemetri, dapat memperoleh manfaat dari antrian FIFO throughput tinggi untuk menangani masuknya pesan secara terus menerus sambil mempertahankan urutan mereka untuk analisis yang akurat.
-
E-commerce Pemrosesan pesanan: Dalam platform e-commerce di mana menjaga urutan transaksi pelanggan sangat penting, antrian FIFO throughput tinggi memastikan bahwa pesanan diproses secara berurutan dan tanpa penundaan, bahkan selama musim belanja puncak.
-
Layanan keuangan: Lem baga keuangan yang menangani perdagangan frekuensi tinggi atau data transaksional mengandalkan Antrian FIFO throughput tinggi untuk memproses data pasar dan transaksi dengan latensi minimal sambil mematuhi persyaratan peraturan yang ketat untuk pemesanan pesan.
-
Streaming media: Platform streaming dan layanan distribusi media memanfaatkan antrian FIFO throughput tinggi untuk mengelola pengiriman file media dan konten streaming, memastikan pengalaman pemutaran yang lancar bagi pengguna sambil mempertahankan urutan pengiriman konten yang benar.
Partisi dan distribusi data untuk throughput tinggi untuk antrian SQS FIFO
Amazon SQS menyimpan data antrian FIFO di partisi. Partisi adalah alokasi penyimpanan untuk antrian yang secara otomatis direplikasi di beberapa Zona Ketersediaan dalam Wil AWS ayah. Anda tidak mengelola partisi. Sebagai gantinya, Amazon SQS menangani manajemen partisi.
Untuk antrian FIFO, Amazon SQS mengubah jumlah partisi dalam antrian dalam situasi berikut:
-
Jika tingkat permintaan saat ini mendekati atau melebihi apa yang dapat didukung oleh partisi yang ada, partisi tambahan dialokasikan hingga antrian mencapai kuota regional. Untuk informasi tentang kuota, lihatKuota pesan Amazon SQS.
-
Jika partisi saat ini memiliki pemanfaatan rendah, jumlah partisi dapat dikurangi.
Manajemen partisi terjadi secara otomatis di latar belakang dan transparan bagi aplikasi Anda. Antrian dan pesan Anda tersedia setiap saat.
Mendistribusikan data berdasarkan ID grup pesan
Untuk menambahkan pesan ke antrian FIFO, Amazon SQS menggunakan nilai ID grup pesan setiap pesan sebagai input ke fungsi hash internal. Nilai output dari fungsi hash menentukan partisi mana yang menyimpan pesan.
Diagram berikut menunjukkan antrian yang mencakup beberapa partisi. ID grup pesan antrian didasarkan pada nomor item. Amazon SQS menggunakan fungsi hash untuk menentukan tempat menyimpan item baru; dalam hal ini, ini didasarkan pada nilai hash stringitem0. Perhatikan bahwa item disimpan dalam urutan yang sama di mana mereka ditambahkan ke antrian. Lokasi setiap item ditentukan oleh nilai hash dari ID grup pesannya.
catatan
Amazon SQS dioptimalkan untuk distribusi item yang seragam di seluruh partisi antrian FIFO, terlepas dari jumlah partisi. AWS menyarankan agar Anda menggunakan ID grup pesan yang dapat memiliki sejumlah besar nilai berbeda.
Mengoptimalkan pemanfaatan partisi
Setiap partisi mendukung hingga 3.000 pesan per detik dengan batching, atau hingga 300 pesan per detik untuk operasi kirim, terima, dan hapus di wilayah yang didukung. Untuk informasi selengkapnya tentang kuota pesan throughput tinggi, lihat kuota layanan Amazon SQS di Referensi Umum Amazon Web Services.
Saat menggunakan API batch, setiap pesan dirutekan berdasarkan proses yang dijelaskan diMendistribusikan data berdasarkan ID grup pesan. Pesan yang dialihkan ke partisi yang sama dikelompokkan dan diproses dalam satu transaksi.
Untuk mengoptimalkan pemanfaatan partisi untuk SendMessageBatch API, AWS merekomendasikan batch pesan dengan ID grup pesan yang sama bila memungkinkan.
Untuk mengoptimalkan pemanfaatan partisi untuk ChangeMessageVisibilityBatch API DeleteMessageBatch dan AWS , sarankan menggunakan ReceiveMessage permintaan dengan MaxNumberOfMessages parameter yang disetel ke 10, dan menggabungkan tanda terima yang dikembalikan oleh satu permintaan. ReceiveMessage
Dalam contoh berikut, kumpulan pesan dengan berbagai ID grup pesan dikirim. Batch dibagi menjadi tiga kelompok, yang masing-masing diperhitungkan terhadap kuota untuk partisi.
catatan
Amazon SQS hanya menjamin bahwa pesan dengan fungsi hash internal ID grup pesan yang sama dikelompokkan dalam permintaan batch. Bergantung pada output dari fungsi hash internal dan jumlah partisi, pesan dengan ID grup pesan yang berbeda mungkin dikelompokkan. Karena fungsi hash atau jumlah partisi dapat berubah sewaktu-waktu, pesan yang dikelompokkan pada satu titik mungkin tidak dikelompokkan nanti.