Tencent Cloud Edge Functionsは、EdgeOneエッジノードのServerlessコード実行環境を提供します。ビジネス関数コードを作成しトリガールールを設定するだけで、サーバーなどのインフラストラクチャを設定および管理することなく、ユーザーに近いエッジノードで弾力的かつ安全にコードを実行できます。
原理の概要
JavaScript関数を独自に開発し、EdgeOneのエッジノードにデプロイできます。
1. クライアントリクエストが設定した関数トリガールールに一致しない場合、リクエストの順序は以下の通りです:
(1)クライアントリクエスト > EdgeOneエッジノードのゲートウェイに到達 >(2)ノードにキャッシュがある場合はキャッシュが応答 >(3)キャッシュミスの場合はオリジンサーバーが応答します。
2. クライアントリクエストが設定した関数トリガールールに一致した場合、リクエストの順序には以下の状況があります:
(1)クライアントリクエスト > EdgeOneエッジノードのゲートウェイに到達 >(4)エッジ関数が引き継ぎ、お客様のJSコードを実行 >(5)サブリクエストがキャッシュにアクセス >(3)キャッシュミスの場合はオリジンサーバーが応答します。
(1)クライアントリクエスト > EdgeOneエッジノードのゲートウェイに到達 >(4)エッジ関数が引き継ぎ、お客様のJSコードを実行 >(6)サブリクエストが公網サービスにアクセスします。
エッジ関数の利点
分散配置
EdgeOneは3200以上のエッジノードを有しており、エッジ関数は分散配置方式でエッジノード上で実行されます。
超低遅延
クライアントリクエストは、お客様のユーザーに最も近いエッジノードへ自動的にスケジューリングされ、トリガールールに一致してエッジ関数が起動され、リクエストが処理されて結果がクライアントに応答されます。これにより、クライアントのアクセス遅延を大幅に低減できます。
弾力的な拡張
エッジ関数は、クライアントリクエスト数の急増に応じて、リクエストを近くから遠くへ、十分な計算リソースを持つエッジノードにスケジューリングして処理することができます。そのため、突発的なピーク時でも心配する必要はありません。
Serverlessアーキテクチャ
基盤サーバーのメモリ、CPU、ネットワーク、その他のインフラストラクチャリソースを意識したり管理したりする必要はなく、ビジネスコードの開発に集中することができます。
適用シーン
利用制限
|
単一サイトの関数数 | 100 個 | 単一サイトで作成できるエッジ関数の最大数は100です。 |
単一サイトのトリガールール数 | 200 本 | 単一サイトで作成できる関数のトリガールールの最大数は200です。 |
関数名の長さ | 30 文字 | 2~30文字で、最大30文字までサポートされます。 |
コードパッケージサイズ | 5 MB | 単一関数のコードパッケージサイズは最大5 MBまでサポートされます。 |
リクエスト body サイズ | 1 MB | クライアントリクエストで送信できる body の最大サイズは1 MBです。 |
CPU時間 | 200 ms | 関数の1回の実行に割り当てられるCPUタイムスライスであり、I/O待機時間は含まれません。 |
実行メモリ | 128 MB | 単一関数の実行環境で使用できる最大実行メモリであり、コード、変数、データバッファなどが含まれます。各実行環境のメモリは完全に分離されています。メモリサイズが128 MBを超えた場合、現在のリクエストが正常に完了するよう可能な限り保証されますが、極端な負荷状況では、制限を超えたリクエストが事前に回収される可能性は排除されません。 |
開発言語 | JavaScript | 現在はJavaScriptのみサポートされています。 |
console呼び出し回数 | 20 回 | 各関数内でconsoleメソッドの呼び出しは最大20回まで許可されます。20回を超えた場合、印刷操作は実行されません。 |
ループ実行回数 | 100000回 | 関数内のfor、for in、for of、while、do whileループの実行回数は100000回以下に制限されます。 |