View a markdown version of this page

Jenis antrian 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.

Jenis antrian Amazon SQS

Amazon SQS mendukung dua jenis antrian: antrian standar dan antrian FIFO. Gunakan tabel berikut untuk menentukan antrian mana yang paling sesuai dengan kebutuhan Anda.

Antrian standar Antrian FIFO

Through put tak terbatas — Antrian standar mendukung jumlah panggilan API yang sangat tinggi dan hampir tidak terbatas per detik, per tindakan (SendMessage, ReceiveMessage, atau DeleteMessage). Throughput tinggi ini membuatnya ideal untuk kasus penggunaan yang memerlukan pemrosesan pesan dalam jumlah besar dengan cepat, seperti streaming data real-time atau aplikasi skala besar. Sementara antrian standar berskala secara otomatis sesuai permintaan, penting untuk memantau pola penggunaan untuk memastikan kinerja yang optimal, terutama di wilayah dengan beban kerja yang lebih tinggi.

At-least-once pengiriman - Dijamin pengiriman setidaknya sekali, yang berarti bahwa setiap pesan dikirimkan setidaknya sekali, tetapi dalam beberapa kasus, pesan dapat dikirimkan lebih dari sekali karena percobaan ulang atau penundaan jaringan. Anda harus merancang aplikasi Anda untuk menangani pesan duplikat potensial dengan menggunakan operasi idempotent, yang memastikan bahwa memproses pesan yang sama beberapa kali tidak akan mempengaruhi status sistem.

Best-effort pemesanan — Menyediakan pemesanan dengan upaya terbaik, yang berarti bahwa meskipun Amazon SQS mencoba mengirimkan pesan sesuai urutan pengiriman, itu tidak menjamin hal ini. Dalam beberapa kasus, pesan mungkin datang rusak, terutama dalam kondisi throughput tinggi atau pemulihan kegagalan. Untuk aplikasi di mana urutan pemrosesan pesan sangat penting, Anda harus menangani logika penataan ulang dalam aplikasi atau menggunakan antrian FIFO untuk jaminan pemesanan yang ketat.

Daya tahan dan redundansi — Antrian standar memastikan daya tahan tinggi dengan menyimpan beberapa salinan dari setiap pesan di beberapa Zona Keter AWS sediaan. Ini memastikan bahwa pesan tidak hilang, bahkan jika terjadi kegagalan infrastruktur.

Batas waktu visibilitas — Amazon SQS memungkinkan Anda mengonfigurasi batas waktu visibilitas untuk mengontrol berapa lama pesan tetap tersembunyi setelah diterima, memastikan bahwa konsumen lain tidak memproses pesan sampai sepenuhnya ditangani atau batas waktu berakhir.

Throughput tinggi — Saat Anda menggunakan batching, antrian FIFO memproses hingga 3.000 pesan per detik per metode API (SendMessageBatch, ReceiveMessage, atau). DeleteMessageBatch Throughput ini bergantung pada 300 panggilan API per detik, dengan setiap panggilan API menangani batch 10 pesan.Dengan mengaktifkan mode throughput tinggi, Anda dapat menskalakan hingga 30.000 transaksi per detik (TPS) dengan pemesanan santai dalam grup pesan. Tanpa batching, antrian FIFO mendukung hingga 300 panggilan API per detik per metode API (SendMessage,ReceiveMessage, or). DeleteMessage Jika Anda membutuhkan lebih banyak throughput, Anda dapat meminta peningkatan kuota melalui Pusat AWS Dukungan. Untuk mengaktifkan mode throughput tinggi, lihatMengaktifkan throughput tinggi untuk antrian FIFO di Amazon SQS.

Exactly-once pemrosesan - Antrian FIFO mengirimkan setiap pesan sekali dan menyimpannya tetap tersedia sampai Anda memproses dan menghapusnya. Dengan menggunakan fitur seperti MessageDeduplicationId atau deduplikasi berbasis konten, Anda mencegah pesan duplikat, bahkan saat mencoba lagi karena masalah jaringan atau batas waktu.

First-in-first-out pengiriman — Antrian FIFO memastikan bahwa Anda menerima pesan dalam urutan pengiriman dalam setiap grup pesan. Dengan mendistribusikan pesan ke beberapa grup, Anda dapat memprosesnya secara paralel sambil tetap mempertahankan urutan dalam setiap grup.

Pengiriman pesan antrian standar.
Pengiriman pesan antrian FIFO.
Gunakan antrian standar untuk mengirim data antar aplikasi ketika throughput sangat penting, misalnya:
  • Pisahkan permintaan pengguna langsung dari pekerjaan latar belakang intensif. Izinkan pengguna mengunggah media dengan cepat saat Anda memproses tugas seperti mengubah ukuran atau pengkodean di latar belakang, memastikan waktu respons yang cepat tanpa membebani sistem.

  • Mengalokasikan tugas ke beberapa node pekerja. Mendistribusikan sejumlah besar permintaan validasi kartu kredit di beberapa node pekerja, dan tangani pesan duplikat dengan operasi idempotent untuk menghindari kesalahan pemrosesan.

  • Pesan batch untuk pemrosesan di masa mendatang. Antrekan beberapa entri untuk penambahan batch ke database. Karena urutan pesan tidak dijamin, rancang sistem Anda untuk menangani pemrosesan yang tidak sesuai pesanan jika perlu.

Gunakan antrian FIFO untuk mengirim data antar aplikasi ketika urutan peristiwa penting, misalnya:

  • Pastikan perintah yang dimasukkan pengguna dijalankan dalam urutan yang benar. Ini adalah kasus penggunaan utama untuk antrian FIFO, di mana perintah perintah sangat penting. Misalnya, jika pengguna melakukan urutan tindakan dalam aplikasi, antrian FIFO memastikan tindakan diproses dalam urutan yang sama dengan yang dimasukkan.

  • Tampilkan harga produk yang benar dengan mengirimkan modifikasi harga dalam urutan yang benar. Antrian FIFO memastikan bahwa beberapa pembaruan pada harga produk tiba dan diproses secara berurutan. Tanpa FIFO, pengurangan harga dapat diproses setelah kenaikan harga, menyebabkan data yang salah ditampilkan.

  • Mencegah siswa mendaftar di kursus sebelum mendaftar untuk akun. Dengan menggunakan antrian FIFO, Anda memastikan bahwa proses pendaftaran terjadi dalam urutan yang benar. Sistem memproses pendaftaran akun terlebih dahulu dan kemudian pendaftaran kursus, mencegah permintaan pendaftaran dieksekusi sebelum waktunya.