スケーリングが12倍高速化されました! AWS Lambda 関数が大幅に改善されました!

スケーリングが12倍高速化されました! AWS Lambda 関数が大幅に改善されました!

編纂者:Xing Xuan

制作 | 51CTO テクノロジースタック (WeChat ID: blog)

Marcia は Amazon Web Services のチーフ デベロッパー アドボケートであり、ソフトウェア業界でアプリケーションの構築と拡張に 20 年の経験を持っています。彼女は、クラウドを最大限に活用し、DevOps 文化を取り入れたシステムの設計に熱心に取り組んでいます。彼女は最近、AWS Lambda の大幅な改善点であるスケーリングが 12 倍高速化されたことをブログ記事で公開しました。

1. Lambda関数のアップデート、拡張速度が2倍に

AWS Lambda のスケーリングが 12 倍高速になりました。同期的に呼び出される各 Lambda 関数は、すべての関数の合計同時実行数がアカウントの同時実行制限に達するまで、10 秒ごとに 1,000 回の同時実行にスケールされるようになりました。さらに、関数の呼び出し方法に関係なく、アカウント内の各関数を互いに独立してスケーリングできるようになりました。これらの改善には追加費用はかからず、既存の機能の構成も必要ありません。

写真

従来のアーキテクチャを使用してスケーラブルで高性能なアプリケーションを構築することは困難であり、ピーク時の需要や予測できないトラフィックに対応するために、コンピューティング リソースの過剰プロビジョニングや複雑なキャッシュ ソリューションが必要になることがよくあります。多くの開発者が Lambda を選択するのは、アプリケーションが予測不可能なトラフィックに直面したときにオンデマンドでスケーリングできるためです。

この更新の前は、Lambda 関数は最初の 1 分間にアカウント レベルで 500 ~ 3,000 の同時実行 (リージョンによって異なります) をスケーリングし、その後アカウントの同時実行制限に達するまで 1 分あたり 500 の同時実行ずつスケーリングできました。

このスケーリング制限は同じアカウントとリージョン内のすべての関数で共有されるため、関数にトラフィックの流入が発生すると、同じアカウント内の他の関数のスループットに影響する可能性があります。これにより、アカウント制限を超える可能性のある一部の機能を監視するためのエンジニアリング作業が増加し、ノイジーネイバーシナリオが発生し、同じアカウント内の他の機能の全体的な同時実行性が低下します。

これらのスケーリングの改善により、変動の大きいトラフィックを扱う顧客は、以前よりも早く同時実行ターゲットに到達できるようになりました。たとえば、速報ニュースを掲載するニュース サイトや、フラッシュ セールを実施するオンライン ストアには、大量の訪問者が流入することになります。これらの改善のおかげで、以前よりも 12 倍速く拡張できるようになりました。

さらに、Amazon Athena や Amazon Redshift などのサービスや、Lambda ベースのスカラー UDF を使用してデータの拡充やデータ変換を実行するお客様も、これらの改善の恩恵を受けることができます。これらのサービスは、データをバッチ処理してチャンク単位で Lambda に渡し、複数の並列関数を同時に呼び出します。強化された同時実行スケーリング動作により、Lambda は迅速にスケーリングし、サービス レベル アグリーメント (SLA) 要件を満たすことができます。

2. 実際にどのように機能するのでしょうか?

次の図は、10 秒ごとにリクエストを受信して​​処理する関数を示しています。アカウントの同時実行制限は 7,000 の同時リクエストに設定されており、同じアカウント内のすべての関数間で共有されます。各関数のスケーリング レートは、10 秒ごとに 1,000 回の同時実行に固定されています。このレートは同じアカウント内の他の関数とは独立しているため、必要に応じてこの関数がどのようにスケーリングし、リクエストを調整するかを予測しやすくなります。

写真

  • 09:00:00 – 関数はしばらく実行されており、すでに 1,000 件の同時実行が処理されています。
  • 09:00:10 – 10 秒後、さらに 1,000 件の新規リクエストが急増しました。この関数は 10 秒ごとに最大 1,000 件の同時実行までスケールできるため、問題なく処理できます。
  • 09:00:20 – ここでも同じことが起こります。1,000 件の新しいリクエストです。
  • 09:00:30 – 関数は現在 1,500 件の新しいリクエストを受信して​​います。関数の最大スケーリング容量は 10 秒ごとに 1,000 件のリクエストであるため、そのうち 500 件のリクエストが調整されます。
  • 09:01:00 – この時点で、関数は 4,500 件の同時リクエストを処理しました。しかし突然、3,000件もの新しいリクエストが現れました。 Lambda は 1,000 件の新しいリクエストを処理し、関数が 10 秒ごとに 1,000 件のリクエストにスケールできるため、2,000 件に制限します。
  • 09:01:10 – 10 秒後、さらに 2,000 件のリクエストが集中し、関数はさらに 1,000 件のリクエストを処理できるようになります。ただし、関数は 10 秒ごとに 1,000 件のリクエストに拡張できるため、残りの 1,000 件のリクエストは調整されます。
  • 09:01:20 – 現在、関数は 6,500 件の同時リクエストを処理しており、受信リクエストは 1,000 件あります。これらのリクエストの最初の 500 件は処理されましたが、関数がアカウントの同時実行制限である 7,000 件のリクエストに達したため、残りの 500 件は調整されました。 AWS マネジメントコンソールでサポートチケットを作成することで、アカウントの同時実行制限を増やすことができることを覚えておくことが重要です。

アカウントに複数の関数がある場合、それらの関数は、アカウントの合計同時実行制限に達するまで個別にスケーリングされます。その後、すべての新しい通話は制限されます。

3. 適用範囲と具体的なルール

これらの拡張された改善は、すべての機能に対してデフォルトで有効になっています。 AWS は昨年 11 月 26 日から 12 月中旬にかけて、中国と GovCloud リージョンを除くすべての AWS リージョンにこれらの拡張改善を段階的に展開すると報告されています。

具体的なルールは以下のとおりです。

Lambda は、同時実行スケーリング レートの未使用部分を蓄積しません。つまり、どの時点においても、スケーリング レートは常に最大 1,000 同時ユニットになります。たとえば、利用可能な 1000 個の同時ユニットが 10 秒間隔でまったく使用されなかった場合、次の 10 秒間隔で 1000 個の追加ユニットは追加されません。次の 10 秒間、同時拡張率は 1000 のままです。

関数がさらに多くのリクエストを受信し続ける限り、Lambda はアカウントの同時実行制限まで可能な限り高速にスケールします。予約された同時実行性を構成することで、単一の関数が使用できる同時実行性の量を制限できます。リクエストが関数のスケーリングよりも速く到着した場合、または関数の同時実行性が最大に達した場合、追加のリクエストはスロットリング エラー (ステータス コード 429) で失敗します。

4. まとめ

以前は、Lambda 関数はアカウント レベルでスケーリング制限を共有していたため、1 つの関数でトラフィックが集中するとスループットの問題が発生する可能性がありました。 AWS Lambda 関数の更新により、スケーリングが 12 倍高速化されます。各関数は、アカウントの合計同時実行制限に達するまで、同じアカウント内の他の関数とは独立して、10 秒ごとに 1,000 回の同時実行に拡張されるようになりました。このアップデートでは追加コストや構成の変更は必要なく、迅速なスケーリングが可能になるため、予測できないトラフィックに直面するアプリケーションに大きなメリットをもたらします。

新しい独立したスケーリング システムにより、関数は同時実行ターゲットに迅速に到達できるようになり、速報ニュースやフラッシュ セールなどのシナリオにさらに適しています。

さらに、データ処理に Lambda を活用する Amazon Athena や Amazon Redshift などのサービスでは、このアップデートによりパフォーマンスが向上します。これらの改善はデフォルトで有効になっており、中国と GovCloud リージョンを除くすべての AWS リージョンに展開されます。

<<:  2024 年のクラウド コンピューティング セキュリティの 5 つのトレンドと進歩

>>:  クラウド コンピューティングの種類、サービス、使用法について知っておくべきすべてのことを網羅した決定版ガイド

推薦する

Kafka ソースコード実装メカニズムのクライアントキャッシュアーキテクチャの図解説明

みなさんこんにちは。Hua Zaiです。またお会いできて嬉しいです。今日は主に「Kafka クライア...

XSXNet: 20% オフ、月額 4 ドルから、大帯域幅に最適化された回線 VPS、香港/シンガポール/日本のデータセンターが利用可能

現在、xsx.net ( XSXネットワーク、運営歴12年)では、すべてのVPSを20%オフ、月額4...

onrahost-$6/Kvm/512m メモリ/12g SSD/2500G トラフィック/ニュージャージー

onrahost は、この会社が 2011 年に設立されたと主張しています。Web サイトにはまだリ...

highspeedweb - 年間 7.5 ドル / 128 MB RAM / 10 GB ハード ドライブ / 250 GB トラフィック / ロサンゼルス

HighSpeedWeb、私はこの会社に関するニュースを2017年1月に投稿しました。あなたも201...

Netty を使用して高性能な分散サービス フレームワークを作成する方法は?

[[407305]] 1. Nettyとは何ですか?それは何ができるのでしょうか? Netty は、...

ムーンライトブログ 2014 おすすめ記事

昨年、「2013 年の Moonlight Blog でおすすめの読み物記事」をまとめてから 1 年...

ローカルフォーラムのオフラインプロモーションの体験要素に関する簡単な議論

インターネットの発展はますます細分化に向かっています。ローカル フォーラムも細分化された産業の 1 ...

ミミ・メンは「インターネット全体で禁止」されたが、彼女の何百万人ものファンはどこへ行ったのだろうか?

ミミ・メンにとって、WeChatのパブリックアカウントは2か月間自主的に停止され、Weiboの永久閉...

K8S 入門から実践まで - K8S へのアプリケーションのデプロイ

背景最近、k8s 関連のブログやビデオをいくつか更新したところ、いくつかのフィードバックをいただきま...

Ansible と Minikube を使用した Kubernetes のストリーミング デプロイメント

Kubernetes はコンテナ オーケストレーションの事実上の標準となり、開発者がコンテナ化された...

WeChat Yixinマーケティングを行う人やチームにとって必読の記事

みなさんこんにちは、私はXiaosiです。上級インターネット実践者として、もちろんダウンロードしてで...

#本当に良いもの# テンセントクラウド: (クラウドサーバー) たったの99元/年、香港\北京\上海\南京\成都\広州\深センなどのコンピュータールーム

テンセントクラウドは、国内のクラウドサーバー業界で「良心的なクラウド」という評判を博しており、毎月固...

360buyの内部構造シリーズの詳細な説明

数日前、著者は「ウェブサイトアーキテクチャの観点からTaoxie.comのSEOをレイアウトする方法...

ミニプログラムの助けを借りて、百国園は新しいコミュニティ小売業界で毎月300万人のユーザーを獲得しました。

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですオフラインの実店舗を経営する商人...

インターネット業界が発展するにつれて、SEO に終止符を打つのは誰でしょうか?

呉暁波氏はこう言っています。「企業がユーザーに見つけてもらいたいなら、インターネット検索に頼らざるを...