すべてのプロダクト
Search
ドキュメントセンター

:EdgeRoutineとは何ですか?

最終更新日:Aug 09, 2024

EdgeRoutineは、JavaScriptコードを記述し、世界中のAlibaba Cloudポイントオブプレゼンス (POP) にデプロイして実行できるサーバーレスランタイム環境です。 EdgeRoutineは、ES6構文と標準のWebサービスワーカーAPIをサポートしています。 EdgeRoutineを使用すると、ユーザーに最も近いPOPにユーザー要求に応答して処理することができます。 これにより、レイテンシが大幅に削減され、応答が加速され、ユーザーエクスペリエンスが向上します。

image

アクティベーションの指示

EdgeRoutineはベータリリースであり、選択したユーザーのみが利用できます。 DCDNサービスの1日あたりのピーク帯域幅が500 Mbit/sを超える場合、チケットを起票してEdgeRoutineを有効にします。 ご不便をおかけしましたことをお詫び申し上げます。 注意を払うことをお勧めします に 公式ウェブサイト

メリット

  • グローバルデプロイ、ニアサイトスケジューリング、超低レイテンシ: Function ComputeやECS (Elastic Compute Service) などの一般的なクラウドコンピューティングサービスと比較して、EdgeRoutineを特定のリージョンにデプロイする必要はありません。 EdgeRoutineは世界中のPOPで実行されます。 クライアント要求は自動的に最も近いPOPにスケジュールされ、すぐにコードを実行してクライアント要求を処理します。 EdgeRoutineはサーバーの応答時間を大幅に短縮でき、ユーザーに低遅延サービスを提供するのに役立ちます。

  • 自動スケールアウトおよび従量課金: Alibaba Cloudは、世界中の3,200を超えるPOPで構成されるエッジネットワークを構築しました。 これらのPOPは比類のないスケーラビリティを提供します。 リージョン内のクライアント要求の数が急増した場合、これらの要求は、十分なコンピューティングリソースを有する最も近いPOPに自動的にスケジュールされる。 サービスに対して行われた呼び出しの数に基づいて、EdgeRoutineに対して課金されます。

  • 使いやすいサーバーレス環境: EdgeRoutineを使用すると、CPU、メモリ、ネットワーク、オペレーティングシステムなどの基盤となるリソースを管理することなく、ビジネスロジックに集中できます。 コンソールまたはAPIを使用してコードをアップロードし、アプリケーションをデプロイできます。 サーバーレス開発により、開発コストとO&Mコストを効果的に削減できます。

原則

image
  • EdgeRoutineが使用されないシナリオ: 1. クライアントは、POPのゲートウェイへの要求を開始する。 → 2。 POPは、キャッシュ内の要求されたコンテンツを検索する。 要求がキャッシュヒットである場合、要求されたコンテンツはクライアントに返される。 → 3。 リクエストがキャッシュミスの場合、リクエストはオリジンサーバーにリダイレクトされます。

  • EdgeRoutineが使用されるシナリオ: 1. クライアントは、POPのゲートウェイへの要求を開始する。 → 4。 リクエストはEdgeRoutineによって管理され、関連するJavaScriptコードがトリガーされます。 → フェッチリクエストは、キャッシュとオリジンサーバー (No.5またはNo.3) 、または他の公にアクセス可能なサービス (No.6) に送信されます。

    説明

    上の図では、ゲートウェイの背後でEdgeRoutineが実行されます。 この場合、コンソールで設定された DCDN高速化ドメイン名の設定 (HTTPS設定、アクセス制御、パフォーマンス最適化、キャッシュ設定など) は引き続き有効になります。

基本概念

  • ルーチン: EdgeRoutineは、Alibaba Cloud POPで実行されるJavaScriptコードランタイム環境です。 EdgeRoutineでJavaScriptコードをアップロードして実行できます。 EdgeRoutineを使用する前に、ルーチンを作成する必要があります。 ルーチンは、設定とアップロードするJavaScriptコードスクリプトで構成されます。 設定では、名前、説明、CPUとメモリの上限、ドメイン名のホワイトリストなど、ルーチンに関する情報を指定します。

    image
  • Version: ルーチンはバージョン管理をサポートします。 ルーチンの開発中、JavaScriptコードは常に変更および更新されます。 ステージのテストが完了したら、コードの現在の状態のスナップショットを取得してコードバージョンを作成できます。 ルーチンを公開するときは、コードバージョンを選択する必要があります。 システムでは、以前のバージョンを選択して履歴コードを管理できます。 各バージョンは、システムによって自動的に生成されるバージョン番号を有する。

    image
  • 環境: EdgeRoutineは、ステージング環境、本番環境、およびカナリア環境を提供します。

    image
    • ステージング環境: ステージング環境は、コードをテストするために使用される独立したPOPです。 ステージング環境は本番環境をシミュレートしますが、本番環境から分離されています。 ステージング環境でルーチンの構成またはコードを変更できます。 これは本番環境には影響しません。 ステージング環境にアクセスできるのは、ページで指定されているIPアドレスをhostsファイルに追加した後です。

    • 本番環境: デプロイ環境とも呼ばれる本番環境は、世界中に分散された多数のPOPで構成されています。 ステージング環境でコードをテストした後、本番環境にコードをデプロイできます。 前の図は参照のみのために提供されます。 EdgeRoutineは、リクエストボリュームに基づいてPOPを自動的に追加または削除します。 POP分布は、実際のシナリオに従って変化し得る。

    • カナリア環境: この環境では、展開の範囲を徐々に広げることができます。 コードや構成の変更を本番環境に直接展開するのは危険です。 コードまたは構成にエラーが存在する場合、ユーザーが影響を受ける可能性があります。 ビジネスが大規模である場合、またはコードや構成の変更時にリスクを制御する場合は、カナリア環境を使用して展開範囲を管理することをお勧めします。 カナリア環境は複雑です。 カナリア環境を使用する前に、環境の基本を理解することをお勧めします。 詳細については、「カナリア環境 (オプション) 」をご参照ください。

  • ドメイン名: ルーチンを作成してコードをデプロイしたら、クライアントがアクセスできるルーチンのポータルとしてドメイン名を使用する必要があります。 EdgeRoutineは、ポータルとして DCDN- 高速化ドメイン名のみをサポートしています。 DCDNコンソールで、EdgeRoutineをドメイン名に関連付けることができます。

    image
  • POP: POPは DCDNによってコンテンツ配信に使用されます。 クライアント要求は、最も近いPOPにスケジュールされる。

制限事項

機能

項目

説明

CPUタイム

5 ms、50 ms、および100 ms

実行のためにEdgeRoutineによって割り当てられるCPUタイムスライス。 計算されたCPU時間にI/O待ちが含まれません。 5 ms、50 ms、100 msの3つのオプションのいずれかを選択できます。 詳細については、「課金ルール」をご参照ください。

メモリ容量

128 MB

物理マシン上のドメイン名に割り当てられたメモリ。 ドメイン名に対するすべての要求はメモリを共有します。 たとえば、物理マシンの最大JavaScriptサンドボックスメモリは128 MBです。

Real time

120s

EdgeRoutineの実行の応答時間は120秒を超えることはできません。 I/O待ちは、計算されたリアルタイムに含まれる。

待ち時間

10s

ゲートウェイがEdgeRoutineを待機する時間。 EdgeRoutineが10秒以内にデータを返さない場合、ゲートウェイはサーバーから切断し、HTTPステータスコード504をクライアントに返します。

コードパッケージサイズ

4 MB

各ルーチンのJavaScriptコードファイルの最大サイズ。

サブリクエスト数

4

実行中にEdgeRoutineによって許可されるフェッチ要求の数。

プログラミング言語

JavaScript (ES6構文)

JavaScriptのみがサポートされています。 JavaScriptの使い方を知る必要があります。

ルーチンの数

50

Alibaba Cloudアカウントごとに最大50のルーチンを作成できます。

バージョン数

10

各ルーチンに最大10のバージョンを保存できます。

サポートされているプロトコル

HTTPSのみ

WebSocket、TCP、およびUDPはサポートされていません。

サブリクエスト

なし

別のルーチンのドメイン名に対してルーチンでフェッチ要求を開始することはできません。