Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Apa itu Layanan Antrian Sederhana Amazon
Amazon Simple Queue Service (Amazon SQS) menawarkan antrian host 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 huruf mati dan tag alokasi biaya. Ini menyediakan API layanan web generik yang dapat Anda akses menggunakan bahasa pemrograman apa pun yang didukung AWS SDK.
Topik
Manfaat menggunakan Amazon SQS
-
Keamanan — Anda mengontrol siapa yang dapat mengirim pesan dan menerima pesan dari antrian Amazon SQS. Anda dapat memilih untuk mengirimkan data sensitif dengan melindungi konten pesan dalam antrian menggunakan enkripsi sisi server (SSE) terkelola Amazon SQS default, atau dengan menggunakan kunci SSE kustom yang dikelola di (). AWS Key Management Service AWS KMS
-
Daya Tahan — Demi keamanan pesan Anda, Amazon SQS menyimpannya di beberapa server. Antrian standar mendukung pengiriman at-least-once pesan, dan antrian FIFO mendukung pemrosesan pesan yang tepat sekali dan mode throughput tinggi.
-
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 kenaikan 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 pada saat yang bersamaan.
-
Kustomisasi — Antrian Anda tidak harus persis sama — misalnya, Anda dapat mengatur penundaan default pada antrian. Anda dapat menyimpan konten pesan yang lebih besar dari 256 KB menggunakan Amazon Simple Storage Service (Amazon S3) atau Amazon DynamoDB, dengan Amazon SQS memegang pointer ke objek Amazon S3, atau Anda dapat membagi pesan besar menjadi pesan yang lebih kecil.
Arsitektur Amazon SQS dasar
Bagian ini menguraikan bagian-bagian dari 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 antrian.
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) menyimpan pesan secara berlebihan 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) mengirim pesan A ke antrian, dan pesan didistribusikan ke seluruh server Amazon SQS secara berlebihan.
Ketika konsumen (komponen 2) siap untuk memproses pesan, ia mengkonsumsi pesan dari antrian, dan pesan A dikembalikan. Saat pesan A sedang diproses, pesan tetap dalam antrian dan tidak dikembalikan ke permintaan penerimaan berikutnya selama durasi batas waktu visibilitas.
Konsumen (komponen 2) menghapus pesan A dari antrian untuk mencegah pesan diterima dan diproses lagi saat batas waktu visibilitas berakhir.
catatan
Amazon SQS secara otomatis menghapus pesan yang telah berada dalam antrian selama lebih dari periode penyimpanan pesan maksimum. Periode penyimpanan pesan default adalah 4 hari. Namun, Anda dapat mengatur periode penyimpanan pesan ke nilai dari 60 detik menjadi 1.209.600 detik (14 hari) menggunakan tindakan. SetQueueAttributes
Perbedaan antara Amazon SQS, Amazon MQ, dan Amazon SNS
Amazon SQS, Amazon SNS, dan Amazon
Amazon SQS memisahkan 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, secara efektif mendorong pesan ke beberapa
Amazon SNS memungkinkan penerbit untuk mengirim pesan ke beberapa pelanggan melalui topik, yang berfungsi sebagai saluran komunikasi. Pelanggan menerima pesan yang dipublikasikan menggunakan jenis endpoint yang didukung, seperti Amazon SQS Amazon Data Firehose, Lambda, HTTP, email, notifikasi push seluler, dan pesan teks seluler (SMS). Layanan ini sangat ideal untuk skenario yang membutuhkan pemberitahuan langsung, seperti keterlibatan pengguna waktu nyata atau sistem alarm. Untuk mencegah kehilangan pesan saat pelanggan 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 ikhtisar jenis sumber daya masing-masing layanan:
Jenis sumber daya | Amazon SNS | Amazon SQS | Amazon MQ |
---|---|---|---|
Sinkron | Tidak | Tidak | Ya |
Asinkron | Ya | Ya | Ya |
Antrean | Tidak | Ya | Ya |
Pesan penerbit-pelanggan | Ya | Tidak | Ya |
Broker pesan | Tidak | Tidak | Ya |
Baik Amazon SQS dan Amazon SNS direkomendasikan untuk aplikasi baru yang dapat memanfaatkan skalabilitas yang hampir tidak terbatas dan API sederhana. Mereka umumnya menawarkan solusi yang lebih hemat biaya untuk aplikasi volume tinggi dengan harga mereka. pay-as-you-go 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, dan Simple Text Oriented Message Protocol (STOMP). OpenWire