Cloud & IT Cert Prep · Pelajaran

Keserentakan, Pendikitan dan Keserentakan Terpelihara

Fahami cara Lambda diskala secara serentak, tetapkan keserentakan terpelihara untuk melindungi perkhidmatan hiliran dan kendalikan ralat pendikitan.

Pelajaran 2 daripada 413 langkah

Keserentakan, Pendikitan dan Keserentakan Terpelihara ialah pelajaran Cloud & IT Cert Prep percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cloud & IT Cert Prep, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Cara Lambda Menskala Secara Serentak

Lambda menskala dengan menjalankan berbilang pelaksanaan serentak bagi fungsi anda—satu untuk setiap peristiwa serentak. Apabila 100 permintaan tiba pada masa yang sama, Lambda menjalankan 100 tika selari fungsi anda. AWS mengurus infrastruktur asas secara automatik. Had keserentakan peringkat akaun ialah 1,000 pelaksanaan serentak bagi setiap Wilayah secara lalai (had lembut yang boleh ditingkatkan melalui permintaan kuota perkhidmatan).

Pengiraan Keserentakan

Keserentakan dikira seperti berikut: Keserentakan = Permintaan sesaat × Tempoh purata dalam saat. Jika fungsi anda mengendalikan 500 permintaan sesaat dan setiap satu mengambil masa 0.2 saat, anda memerlukan 100 pelaksanaan serentak. Memahami formula ini membantu anda meramalkan sama ada had akaun anda mencukupi dan sama ada anda perlu memohon peningkatan kuota sebelum acara dengan trafik tinggi.

# Example concurrency calculation
# RPS = 500, avg_duration = 0.2s
# Concurrency = 500 * 0.2 = 100

# To check current concurrency limits:
aws lambda get-account-settings

Pengehadgunaan: Perkara yang Berlaku Apabila Had Dicapai

Apabila Lambda menerima lebih banyak permintaan daripada yang dibenarkan oleh had keserentakannya, ia mengehadkan penggunaan permintaan berlebihan tersebut. Bagi pemanggilan segerak (contohnya, API Gateway), permintaan yang dihadkan serta-merta menerima 429 TooManyRequestsException yang mesti dikendalikan oleh pemanggil. Bagi pemanggilan tak segerak (contohnya, peristiwa S3), Lambda mengekalkan peristiwa dalam baris gilir dan mencuba semula sehingga 6 jam sebelum menghantarnya ke baris gilir surat mati.

Penerangan tentang Keserentakan Tersimpan

Keserentakan Tersimpan menjamin bilangan pelaksanaan serentak tertentu untuk fungsi tertentu dengan menyimpan bilangan tersebut daripada kumpulan akaun. Ia mempunyai dua tujuan: (1) menjamin kapasiti—fungsi akan sentiasa mempunyai bilangan pelaksanaan itu walaupun fungsi lain sedang menggunakan kuota akaun; (2) mengehadkan keserentakan—fungsi tidak boleh melebihi jumlah tersimpan, sekali gus melindungi kebergantungan hiliran daripada beban berlebihan.

# Reserve 100 concurrent executions for a critical function
aws lambda put-function-concurrency \
  --function-name 'CriticalProcessor' \
  --reserved-concurrent-executions 100

Melindungi Perkhidmatan Hiliran dengan Keserentakan Tersimpan

Satu senario peperiksaan yang penting: fungsi Lambda menulis ke pangkalan data RDS yang mempunyai had sambungan sebanyak 50. Tanpa kawalan keserentakan, Lambda boleh menskala kepada ratusan pelaksanaan serentak dan menghabiskan semua sambungan pangkalan data, lalu menyebabkan ralat bagi setiap fungsi. Menetapkan keserentakan tersimpan kepada 40 memastikan Lambda tidak pernah melebihi 40 sambungan pangkalan data serentak, sekali gus melindungi tika RDS. Ini ialah corak penting bagi mana-mana fungsi Lambda yang memanggil perkhidmatan dengan sambungan terhad.

Keserentakan Disediakan untuk Menghapuskan Permulaan Sejuk

Keserentakan Disediakan memulakan terlebih dahulu sejumlah persekitaran pelaksanaan Lambda supaya semuanya sedia memberikan respons serta-merta tanpa permulaan sejuk. Ini amat penting untuk API sensitif kependaman, yang tidak boleh menerima walaupun permulaan sejuk selama 100 milisaat. Anda membayar kadar setiap jam untuk keserentakan disediakan walaupun persekitaran tersebut tidak digunakan, jadi gabungkannya dengan penskalaan automatik untuk melaraskan tahap yang disediakan berdasarkan corak trafik yang diramalkan.

aws lambda put-provisioned-concurrency-config \
  --function-name 'LatencySensitiveAPI' \
  --qualifier 'prod' \
  --provisioned-concurrent-executions 50

Keserentakan Tersimpan berbanding Disediakan

Kedua-duanya sering dikelirukan tetapi mempunyai tujuan yang berbeza. Keserentakan Tersimpan mengehadkan dan menjamin peruntukan kapasiti daripada kumpulan akaun—ia TIDAK menghapuskan permulaan sejuk. Keserentakan Disediakan memanaskan persekitaran pelaksanaan terlebih dahulu untuk menghapuskan permulaan sejuk—ia TIDAK menghalang fungsi lain daripada menggunakan kumpulan yang sama. Gunakan keserentakan tersimpan untuk mengehadkan daya pemprosesan; gunakan keserentakan disediakan untuk meningkatkan kependaman. Kedua-duanya boleh digunakan bersama pada fungsi yang sama.

Had Ledakan dan Penskalaan Awal

Lambda tidak menskala kepada keserentakan penuh serta-merta. Terdapat had ledakan peringkat akaun (kadar penskalaan awal) yang berbeza mengikut Wilayah—biasanya 3,000 ledakan awal, kemudian 500 pelaksanaan tambahan seminit sehingga had dicapai. Bagi aplikasi yang menjangkakan lonjakan besar secara tiba-tiba (trafik tular, jualan kilat), gunakan Keserentakan Disediakan untuk memanaskan terlebih dahulu persekitaran yang mencukupi supaya had ledakan tidak menyebabkan pengehadgunaan semasa lonjakan awal.

Metrik Keserentakan Lambda dalam CloudWatch

Pantau keserentakan Lambda dengan metrik CloudWatch utama berikut:

  • ConcurrentExecutions: bilangan semasa tika yang sedang berjalan
  • Throttles: bilangan pemanggilan yang dihadkan (sepatutnya sifar dalam sistem yang sihat)
  • UnreservedConcurrentExecutions: kumpulan tidak tersimpan peringkat akaun
  • ProvisionedConcurrencyUtilization: jumlah kapasiti disediakan yang sedang digunakan

Tetapkan penggera pada Throttles supaya anda menerima pemberitahuan sebelum pengehadgunaan menjejaskan pengguna akhir.

aws cloudwatch put-metric-alarm \
  --alarm-name 'LambdaThrottlesAlert' \
  --metric-name Throttles \
  --namespace AWS/Lambda \
  --dimensions Name=FunctionName,Value=MyFunction \
  --statistic Sum \
  --period 60 \
  --threshold 1 \
  --comparison-operator GreaterThanOrEqualToThreshold \
  --evaluation-periods 1

Mengendalikan Pengehadgunaan dalam Kod Aplikasi

Apabila mereka bentuk sistem yang memanggil Lambda secara segerak (API Gateway, panggilan terus SDK), laksanakan undur eksponen dengan kegentaran pada pemanggil. SDK AWS mempunyai logik percubaan semula terbina dalam, tetapi untuk Lambda yang berada di belakang API Gateway, anda mesti mengendalikan respons 429 dalam aplikasi client anda. Bagi Lambda yang dicetuskan oleh SQS, perkhidmatan SQS sendiri mengendalikan percubaan semula; tetapkan Bilangan Penerimaan Maksimum pada baris gilir sumber dengan sewajarnya dan konfigurasikan DLQ untuk percubaan semula yang telah habis.

Keserentakan dan Pencetus Berasaskan Strim

Bagi Kinesis Data Streams dan DynamoDB Streams, keserentakan Lambda dihadkan oleh bilangan pecahan (Kinesis) atau partisi (DynamoDB). Setiap pecahan/partisi diproses tepat oleh satu pelaksanaan Lambda serentak. Jika anda mempunyai 10 pecahan Kinesis, Lambda menjalankan sehingga 10 pelaksanaan serentak untuk pencetus tersebut. Ini bermaksud isu pengehadgunaan dengan pencetus berasaskan strim biasanya diselesaikan dengan menambah bilangan pecahan, bukannya meningkatkan had keserentakan.

Semakan Pantas

Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini anda mempelajari bahawa: Keserentakan Tersimpan menjamin dan mengehadkan pelaksanaan serentak fungsi bagi melindungi perkhidmatan hiliran serta memastikan ketersediaan; Keserentakan Disediakan memulakan persekitaran terlebih dahulu untuk menghapuskan permulaan sejuk bagi beban kerja sensitif kependaman; dan pengehadgunaan muncul sebagai ralat 429 bagi pemanggilan segerak serta percubaan semula beratur bagi pemanggilan tak segerak—pantau dengan metrik CloudWatch Throttles. Seterusnya kita akan meneroka Lapisan Lambda dan pakej penggunaan untuk mengurus kebergantungan yang besar.

Percuma untuk bermula

Pelajari Cloud & IT Cert Prep dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
150
Pelajaran
600

Soalan Lazim

Adakah pelajaran “Keserentakan, Pendikitan dan Keserentakan Terpelihara” percuma?

Ya — teks penuh “Keserentakan, Pendikitan dan Keserentakan Terpelihara” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cloud & IT Cert Prep, tingkat taraf kepada CoddyKit PRO. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Keserentakan, Pendikitan dan Keserentakan Terpelihara”?

Fahami cara Lambda diskala secara serentak, tetapkan keserentakan terpelihara untuk melindungi perkhidmatan hiliran dan kendalikan ralat pendikitan. Anda berlatih Cloud & IT Cert Prep menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cloud & IT Cert Prep?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cloud & IT Cert Prep di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Keserentakan, Pendikitan dan Keserentakan Terpelihara” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Fungsi Lambda: Masa Jalan, Pencetus dan Pengendali
  2. Keserentakan, Pendikitan dan Keserentakan Terpelihara
  3. Lapisan Lambda dan Pakej Penggunaan
  4. Lambda@Edge dan Corak Didorong Peristiwa
← Kembali ke Cloud & IT Cert Prep