Acara Fanout Amazon SNS AWS ke Event Fork Pipelines - Amazon Simple Notification Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Acara Fanout Amazon SNS AWS ke Event Fork Pipelines

Untuk pengarsipan dan analitik acara, Amazon SNS sekarang merekomendasikan penggunaan integrasi aslinya dengan Amazon Data Firehose. Anda dapat berlangganan aliran pengiriman Firehose ke topik SNS, yang memungkinkan Anda mengirim pemberitahuan ke titik akhir pengarsipan dan analitik seperti bucket Amazon Simple Storage Service (Amazon S3), tabel Amazon Redshift, Amazon Service (Service), dan banyak lagi. OpenSearch OpenSearch Menggunakan Amazon SNS dengan aliran pengiriman Firehose adalah solusi yang dikelola sepenuhnya dan tanpa kode yang tidak mengharuskan Anda menggunakan fungsi. AWS Lambda Untuk informasi selengkapnya, lihat Aliran pengiriman Fanout ke Firehose.

Anda dapat menggunakan Amazon SNS untuk membangun aplikasi yang digerakkan peristiwa yang menggunakan layanan pelanggan untuk melakukan pekerjaan secara otomatis sebagai respons terhadap peristiwa dipicu oleh layanan penerbit. Pola arsitektur ini dapat membuat layanan lebih dapat digunakan kembali, dapat dioperasikan, dan dapat diskalakan. Namun demikian, pola tersebut dapat menjadi padat karya untuk fork pemrosesan peristiwa ke dalam alur yang mengatasi persyaratan penanganan peristiwa umum, seperti penyimpanan peristiwa, cadangan, pencarian, analitik, dan ulangan.

Untuk mempercepat pengembangan aplikasi berbasis peristiwa, Anda dapat berlangganan pipeline penanganan acara—yang didukung oleh pipa Event AWS Fork— ke topik Amazon SNS. AWS Event Fork Pipelines adalah rangkaian aplikasi bersarang sumber terbuka, berdasarkan Model Aplikasi AWS Tanpa Server (AWS SAM), yang dapat Anda gunakan langsung dari rangkaian AWS Event Fork Pipelines (pilih Tampilkan aplikasi yang membuat peran IAM kustom atau kebijakan sumber daya) ke akun Anda. AWS

Untuk kasus penggunaan AWS Event Fork Pipelines, lihatMenyebarkan dan menguji aplikasi sampel pipeline fork event Amazon SNS.

Bagaimana AWS Event Fork Pipelines bekerja

AWS Event Fork Pipelines adalah pola desain tanpa server. Namun, ini juga merupakan rangkaian aplikasi tanpa server bersarang berdasarkan AWS SAM (yang dapat Anda terapkan langsung dari AWS Serverless Application Repository (AWS SAR) ke Anda untuk memperkaya platform berbasis peristiwa Anda Akun AWS ). Anda dapat men-deploy aplikasi bersarang tersebut secara individual, sesuai kebutuhan arsitektur Anda.

Diagram berikut menunjukkan aplikasi AWS Event Fork Pipelines yang dilengkapi dengan tiga aplikasi bersarang. Anda dapat menyebarkan saluran pipa apa pun dari rangkaian AWS Event Fork Pipelines di AWS SAR secara independen, sesuai kebutuhan arsitektur Anda.

Arsitektur AWS Event Fork Pipelines, menunjukkan bagaimana peristiwa dari topik Amazon SNS difilter dan diproses melalui tiga pipeline yang berbeda: Penyimpanan dan Pencadangan Acara, Pencarian Acara dan Analisis, dan Pemutaran Ulang Acara. Saluran pipa ini digambarkan sebagai kotak yang ditumpuk secara vertikal, masing-masing secara independen memproses peristiwa secara paralel dari topik Amazon SNS yang sama.

Setiap alur berlangganan pada topik Amazon SNS yang sama, yang mengizinkan dirinya sendiri untuk memproses peristiwa secara paralel saat peristiwa tersebut diterbitkan untuk topik. Setiap alur bersifat independen dan dapat mengatur Kebijakan Filter Berlangganan miliknya sendiri. Hal ini mengizinkan alur untuk memproses hanya subset dari peristiwa yang menjadi perhatian (bukan semua peristiwa yang diterbitkan untuk topik).

catatan

Karena Anda menempatkan tiga AWS Event Fork Pipelines di samping pipeline pemrosesan acara reguler Anda (mungkin sudah berlangganan topik Amazon SNS Anda), Anda tidak perlu mengubah bagian mana pun dari penerbit pesan Anda saat ini untuk memanfaatkan Pipelines Fork AWS Event di beban kerja yang ada.

Penyimpanan peristiwa dan alur cadangan

Diagram berikut menunjukkan Penyimpanan Peristiwa dan Alur Cadangan. Anda dapat berlangganan alur ini untuk topik Amazon SNS Anda untuk secara otomatis membuat cadangan peristiwa yang mengalir melalui sistem Anda.

Pipeline ini terdiri dari antrian Amazon SQS yang menyangga peristiwa yang dikirimkan oleh topik Amazon SNS, fungsi yang secara otomatis AWS Lambda melakukan polling untuk peristiwa ini dalam antrian dan mendorongnya ke aliran Firehose Data Amazon, dan bucket Amazon S3 yang secara tahan lama mencadangkan peristiwa yang dimuat oleh aliran.

Fork-Event-Storage-Backup-Pipeline, yang dirancang untuk memproses dan mencadangkan acara dari topik Amazon SNS. Alur dimulai dengan topik Amazon SNS dari mana peristiwa menyebar ke antrian Amazon SQS. Peristiwa yang difilter ini kemudian diproses oleh fungsi Lambda, yang meneruskannya ke Amazon Kinesis Data Firehose. Aliran Firehose bertanggung jawab untuk menyangga, mengubah, dan mengompresi peristiwa sebelum memuatnya ke dalam bucket cadangan Amazon S3. Terakhir, Amazon Athena dapat digunakan untuk menanyakan data yang disimpan. Diagram menggunakan serangkaian ikon dan panah untuk menggambarkan aliran dari satu layanan ke layanan berikutnya, dengan jelas memberi label pada setiap komponen pipa.

Untuk penyetelan halus perilaku pengaliran Firehose Anda, Anda dapat mengonfigurasinya untuk membuffer, mengubah, dan mengompres peristiwa Anda sebelum memuatnya ke dalam bucket. Saat peristiwa dimuat, Anda dapat menggunakan Amazon Athena untuk kueri bucket menggunakan kueri SQL standar. Anda juga dapat mengonfigurasi alur untuk menggunakan kembali bucket Amazon S3 yang ada atau membuat yang baru.

Pencarian peristiwa dan alur analitik

Diagram berikut ini menunjukkan Pencarian Peristiwa dan Alur Analitik. Anda dapat berlangganan alur ini untuk topik Amazon SNS Anda untuk indeks peristiwa yang mengalir melalui sistem Anda dalam domain pencarian dan kemudian menjalankan analitik padanya.

Pipeline ini terdiri dari antrian Amazon SQS yang menyangga peristiwa yang dikirimkan oleh topik Amazon SNS, fungsi yang AWS Lambda melakukan polling peristiwa dari antrian dan mendorongnya ke aliran Amazon Data Firehose, domain OpenSearch Layanan Amazon yang mengindeks peristiwa yang dimuat oleh aliran Firehose, dan bucket Amazon S3 yang menyimpan peristiwa mati yang dapat tidak diindeks di domain pencarian.

Event Search dan Analytics Pipeline dalam sebuah AWS arsitektur. Ini dimulai di sebelah kiri dengan topik Amazon SNS menerima semua acara. Peristiwa ini kemudian disalurkan melalui garis putus-putus yang mewakili “peristiwa yang difilter” ke dalam antrian Amazon SQS. Dari antrian, peristiwa diproses oleh fungsi Lambda yang kemudian meneruskannya ke aliran Amazon Kinesis Data Firehose. Data Firehose mengarahkan peristiwa ke dua tujuan: satu rute mengarah ke Amazon Elasticsearch Service untuk pengindeksan, dan rute lainnya mengirimkan peristiwa yang tidak dapat diproses atau “surat mati” ke ember surat mati Amazon S3. Di paling kanan, output dari Layanan Elasticsearch dimasukkan ke dasbor Kibana untuk analitik dan visualisasi. Seluruh aliran ditata secara horizontal dan setiap komponen dihubungkan oleh garis yang menunjukkan arah aliran data.

Untuk penyetelan halus pengaliran Firehose Anda dalam syarat buffering peristiwa, transformasi, dan kompresi, Anda dapat mengonfigurasi alur ini.

Anda juga dapat mengonfigurasi apakah pipeline harus menggunakan kembali domain yang ada di OpenSearch domain Anda Akun AWS atau membuat yang baru untuk Anda. Saat peristiwa diindeks dalam domain pencarian, Anda dapat menggunakan Kibana untuk menjalankan analitik pada peristiwa Anda dan memperbarui dasbor visual secara waktu nyata.

Alur ulangan peristiwa

Diagram berikut ini menunjukkan Alur Ulangan Peristiwa. Untuk merekam peristiwa yang telah diproses oleh sistem Anda selama 14 hari terakhir (sebagai contoh ketika platform Anda harus pulih dari kegagalan), Anda dapat berlangganan alur ini untuk topik Amazon SNS Anda dan kemudian memproses ulang peristiwa.

Pipeline ini terdiri dari antrean Amazon SQS yang menyangga peristiwa yang dikirimkan oleh topik Amazon SNS, dan fungsi yang melakukan polling peristiwa dari AWS Lambda antrian dan memindahkannya kembali ke pipeline pemrosesan acara reguler Anda, yang juga berlangganan topik Anda.

Event Replay Pipeline dalam format flowchart. Dari kiri ke kanan, dimulai dengan topik Amazon SNS yang mendistribusikan peristiwa yang difilter ke dua proses paralel. Alur atas mewakili pipeline pemrosesan peristiwa reguler Anda, yang mencakup antrean Amazon SQS yang memproses peristiwa. Aliran yang lebih rendah, diberi label sebagai "fork-event-replay-pipeline,” termasuk antrean pemutaran ulang Amazon SQS di mana peristiwa disimpan sementara sebelum diproses oleh fungsi replay Lambda. Fungsi Lambda ini memiliki kemampuan untuk mengarahkan ulang peristiwa ke dalam pipeline pemrosesan acara reguler Anda atau menahannya untuk diputar ulang, berdasarkan apakah fitur pemutaran ulang diaktifkan atau dinonaktifkan. Diagram juga menunjukkan bahwa operator memiliki kontrol atas mengaktifkan atau menonaktifkan fungsi pemutaran ulang acara.
catatan

Secara default, fungsi ulangan dinonaktifkan, tidak memindahkan kembali peristiwa Anda. Jika Anda perlu untuk memproses ulang peristiwa, Anda harus mengaktifkan antrean ulangan Amazon SQS sebagai sumber peristiwa untuk fungsi ulangan AWS Lambda .

Menyebarkan Pipa Garpu AWS Acara

Suite AWS Event Fork Pipelines (pilih Tampilkan aplikasi yang membuat peran IAM kustom atau kebijakan sumber daya) tersedia sebagai grup aplikasi publik di AWS Serverless Application Repository, tempat Anda dapat menerapkan dan mengujinya secara manual menggunakan konsol.AWS Lambda Untuk informasi tentang penerapan pipeline menggunakan AWS Lambda konsol, lihat. Berlangganan AWS Event Fork Pipelines ke topik Amazon SNS

Dalam skenario produksi, kami merekomendasikan untuk menyematkan AWS Event Fork Pipelines dalam template AWS SAM aplikasi Anda secara keseluruhan. Fitur aplikasi bersarang memungkinkan Anda melakukan ini dengan menambahkan sumber daya AWS::Serverless::Application ke template AWS SAM Anda, mereferensikan AWS SAR ApplicationId dan aplikasi bersarang. SemanticVersion

Misalnya, Anda dapat menggunakan Event Storage dan Backup Pipeline sebagai aplikasi bersarang dengan menambahkan cuplikan YAMG berikut ke Resources bagian template SAM Anda. AWS

Backup: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:us-east-2:123456789012:applications/fork-event-storage-backup-pipeline SemanticVersion: 1.0.0 Parameters: #The ARN of the Amazon SNS topic whose messages should be backed up to the Amazon S3 bucket. TopicArn: !Ref MySNSTopic

Saat Anda menentukan nilai parameter, Anda dapat menggunakan fungsi AWS CloudFormation intrinsik untuk mereferensikan sumber daya lain di template Anda. Misalnya, dalam cuplikan YAMAL di atas, TopicArn parameter mereferensikan AWS::SNS::Topic sumber dayaMySNSTopic, yang ditentukan di tempat lain dalam template. AWS SAM Untuk informasi selengkapnya, lihat Referensi Fungsi Intrinsik di Panduan Pengguna AWS CloudFormation .

catatan

Halaman AWS Lambda konsol untuk aplikasi AWS SAR Anda menyertakan tombol Salin sebagai Sumber Daya SAM, yang menyalin YAMAL yang diperlukan untuk menyarangkan aplikasi AWS SAR ke clipboard.