Throughput tinggi untuk antrian FIFO di Amazon SQS - Amazon Simple Queue Service

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 yang dipesan.

Antrian FIFO throughput tinggi Amazon SQS tidak diperlukan dalam skenario di mana pemesanan pesan yang ketat tidak penting dan di mana volume pesan yang 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 antrean 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 kuota. Referensi Umum Amazon Web Services

Untuk informasi kuota per antrian dan strategi distribusi data, lihat dan. Kuota SQS pesan Amazon Partisi 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, yang menunjukkan efektivitasnya di seluruh industri dan skenario:

  1. Pemrosesan data waktu nyata: Aplikasi yang berurusan dengan aliran data waktu nyata, seperti pemrosesan peristiwa atau konsumsi data telemetri, dapat memperoleh manfaat dari antrian FIFO throughput tinggi untuk menangani masuknya pesan secara terus menerus sambil mempertahankan urutannya untuk analisis yang akurat.

  2. Pemrosesan pesanan e-Commerce: 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.

  3. Layanan keuangan: Lembaga 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.

  4. 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 Availability Zone dalam suatu Wilayah. AWS Anda tidak mengelola partisi. Sebagai gantinya, Amazon SQS menangani manajemen partisi.

Untuk antrian FIFO, Amazon SQS memodifikasi 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 SQS pesan Amazon.

  • 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 dengan ID grup pesan

Untuk menambahkan pesan ke antrian FIFO, Amazon SQS menggunakan nilai ID grup pesan setiap pesan sebagai masukan 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 di mana untuk menyimpan item baru; dalam hal ini, itu didasarkan pada nilai hash string. item0 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.

Antrian mencakup beberapa partisi.
catatan

Amazon SQS dioptimalkan untuk distribusi item yang seragam di seluruh partisi antrian FIFO, terlepas dari jumlah partisi. AWS merekomendasikan 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 mengirim, menerima, dan menghapus operasi di wilayah yang didukung. Untuk informasi selengkapnya tentang kuota pesan throughput tinggi, lihat kuota layanan Amazon SQS di kuota. Referensi Umum Amazon Web Services

Saat menggunakan API batch, setiap pesan dirutekan berdasarkan proses yang dijelaskan dalamMendistribusikan data dengan 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 pengelompokan pesan dengan ID grup pesan yang sama jika memungkinkan.

Untuk mengoptimalkan pemanfaatan partisi untuk ChangeMessageVisibilityBatch API DeleteMessageBatch dan, AWS rekomendasikan untuk menggunakan ReceiveMessage permintaan dengan MaxNumberOfMessages parameter yang disetel ke 10, dan mengelompokkan gagang tanda terima yang dikembalikan oleh satu permintaan. ReceiveMessage

Dalam contoh berikut, sekumpulan pesan dengan berbagai ID grup pesan dikirim. Batch dibagi menjadi tiga kelompok, yang masing-masing dihitung terhadap kuota untuk partisi.

Kumpulan pesan dengan ID grup pesan yang berbeda disimpan dalam partisi.
catatan

Amazon SQS hanya menjamin bahwa pesan dengan fungsi hash internal ID grup pesan yang sama dikelompokkan dalam permintaan batch. Tergantung pada output dari fungsi hash internal dan jumlah partisi, pesan dengan ID grup pesan yang berbeda dapat dikelompokkan. Karena fungsi hash atau jumlah partisi dapat berubah kapan saja, pesan yang dikelompokkan pada satu titik mungkin tidak dikelompokkan nanti.