Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Apa itu Amazon Simple Queue Service?
Amazon Simple Queue Service (Amazon SQS) menawarkan antrian yang aman, tahan lama, dan tersedia yang memungkinkan Anda mengintegrasikan dan memisahkan sistem dan komponen perangkat lunak terdistribusi. Amazon SQS menawarkan konstruksi umum seperti antrian surat mati dan tag alokasi biaya. Tag alokasi biaya Amazon SQS Ini menyediakan API layanan web generik yang dapat Anda akses menggunakan bahasa pemrograman apa pun yang AWS didukung SDK.
Manfaat menggunakan Amazon SQS
-
Keamanan — Anda mengontrol siapa yang dapat mengirim pesan ke dan menerima pesan dari antrian Amazon SQS. Anda dapat memilih untuk mengirimkan data sensitif dengan melindungi isi pesan dalam antrian dengan menggunakan enkripsi sisi server terkelola (SSE) default Amazon SQS, atau dengan menggunakan kunci SSE khusus yang dikelola dalam (). AWS Key Management Service AWS KMS
-
Daya Tahan — Untuk keamanan pesan Anda, Amazon SQS menyimpannya di beberapa server. Antrian standar mendukung pengiriman pesan setidaknya sekali, dan antrian FIFO mendukung pemrosesan pesan tepat sekali dan mode throughput tinggi. Throughput tinggi untuk antrian FIFO di Amazon SQS
-
Ketersediaan — Amazon SQS menggunakan infrastruktur redundan untuk menyediakan akses yang sangat bersamaan ke pesan dan ketersediaan tinggi untuk memproduksi dan mengkonsumsi pesan.
-
Skalabilitas — Amazon SQS dapat memproses setiap permintaan buffer secara independen, menskalakan secara transparan untuk menangani peningkatan atau lonjakan beban apa pun tanpa instruksi penyediaan apa pun.
-
Keandalan — Amazon SQS mengunci pesan Anda selama pemrosesan, sehingga beberapa produsen dapat mengirim dan beberapa konsumen dapat menerima pesan secara bersamaan.
-
Kustomisasi — Antrian Anda tidak harus sama persis — misalnya, Anda dapat mengatur penundaan default pada antrian. Anda dapat menyimpan konten pesan yang lebih besar dari 1 MiB menggunakan Amazon Simple Storage Service (Amazon S3) atau Amazon DynamoDB, dengan Amazon SQS memegang penunjuk ke objek Amazon S3, atau Anda dapat membagi pesan besar menjadi pesan yang lebih kecil.
Arsitektur dasar Amazon SQS
Bagian ini menjelaskan komponen sistem pesan terdistribusi dan menjelaskan siklus hidup pesan Amazon SQS.
Antrian terdistribusi
Ada tiga bagian utama dalam sistem pesan terdistribusi: komponen sistem terdistribusi Anda, antrian Anda (didistribusikan di server Amazon SQS), dan pesan dalam antri an.
Dalam skenario berikut, sistem Anda memiliki beberapa produsen (komponen yang mengirim pesan ke antrian) dan konsumen (komponen yang menerima pesan dari antrian). Antrian (yang menyimpan pesan A hingga E) secara redundansi menyimpan pesan di beberapa server Amazon SQS.
Siklus hidup pesan
Skenario berikut menjelaskan siklus hidup pesan Amazon SQS dalam antrian, dari pembuatan hingga penghapusan.
Produser (Komponen 1) mengirimkan pesan A ke antrian, dan pesan tersebut didistribusikan ke seluruh server Amazon SQS secara redundansi.
Ketika konsumen (Komponen 2) siap untuk memproses pesan, ia mengkonsumsi pesan dari antrian, dan pesan A dikembalikan. Saat pesan A sedang diproses, pesan tersebut tetap berada dalam antrian dan tidak dikembalikan ke permintaan penerimaan berikutnya selama batas waktu visibilitas.
Konsumen (Komponen 2) menghapus pesan A dari antrian untuk mencegah pesan diterima dan diproses lagi ketika batas waktu visibilitas berakhir.
catatan
Amazon SQS secara otomatis menghapus pesan yang telah berada dalam antrian lebih dari periode retensi pesan maksimum. Periode penyimpanan pesan default adalah 4 hari. Namun, Anda dapat mengatur periode penyimpanan pesan ke nilai dari 60 detik hingga 1.209.600 detik (14 hari) menggunakan tindakan tersebut. SetQueueAttributes
Perbedaan antara Amazon SQS, Amazon MQ, dan Amazon SNS
Amazon SQS, Amazon SNS
Amazon SQS memis ahkan dan menskalakan sistem dan komponen perangkat lunak terdistribusi sebagai layanan antrian. Ini memproses pesan melalui satu pelanggan biasanya, ideal untuk alur kerja di mana pencegahan pesanan dan kerugian sangat penting. Untuk distribusi yang lebih luas, mengintegrasikan Amazon SQS dengan Amazon SNS memungkinkan pola pesan fanout
Amazon SNS memungkinkan penerbit mengirim pesan ke beberapa pelanggan melalui topik, yang berfungsi sebagai saluran komunikasi. Pelanggan menerima pesan yang dipublikasikan menggunakan jenis titik akhir yang didukung, seperti Amazon Data Firehose, Amazon SQS, Lambda, HTTP, email, notifikasi push seluler, dan pesan teks seluler (SMS). Layanan ini sangat ideal untuk skenario yang membutuhkan pemberitahuan segera, seperti keterlibatan pengguna real-time atau sistem alarm. Untuk mencegah hilangnya pesan saat pelanggan sedang offline, mengintegrasikan Amazon SNS dengan pesan antrian Amazon SQS memastikan pengiriman yang konsisten.
Amazon MQ paling cocok dengan perusahaan yang ingin bermigrasi dari broker pesan tradisional, mendukung protokol pesan standar seperti AMQP dan MQTT, bersama dengan Apache ActiveMQ dan RabbitMQ.
Bagan berikut memberikan gambaran umum dari setiap jenis sumber daya layanan:
| Tipe sumber daya | Amazon SNS | Amazon SQS | Amazon MQ |
|---|---|---|---|
| Sinkron | Tidak | Tidak | Ya |
| Asinkron | Ya | Ya | Ya |
| Antrean | Tidak | Ya | Ya |
| Publisher-subscriber pesan | Ya | Tidak | Ya |
| Broker pesan | Tidak | Tidak | Ya |
Baik Amazon SQS dan Amazon SNS direkomendasikan untuk aplikasi baru yang dapat memperoleh manfaat dari skalabilitas yang hampir tidak terbatas dan API sederhana. Mereka umumnya menawarkan solusi yang lebih hemat biaya untuk aplikasi volume tinggi dengan harga pay-as-you-go mereka. Kami merekomendasikan Amazon MQ untuk memigrasikan aplikasi dari broker pesan yang ada yang mengandalkan kompatibilitas dengan API seperti JMS atau protokol seperti Advanced Message Queuing Protocol (AMQP), MQTT OpenWire, dan Simple Text Oriented Message Protocol (STOMP).