3

内部キャッシュを追加して、比較的遅い変更データ (たとえば、サイトのドロップダウンは年に数回変更される可能性があります) を追加して、flask アプリ ラムダ サーバーを最適化することを考えています。Zappa を使用してラムダにデプロイします。意味はありますか?または、リクエストが処理されるたびにメモリをフラッシュしますか。私は、状態を維持する aws に頼ることができないことを知っています。ここでの私の目標は、ElastiCache は言うまでもなく、いくつかの redis インスタンスに大金を費やすことなく、パフォーマンスを少し最適化することです。

更新: うん、zappa のようなサーバーレス展開フレームワークは状態をリサイクルするので、そうすべきではないのです。ハッカーヌーンのブログの下で、州のリサイクルについて詳しく説明します

https://hackernoon.com/write-recursive-aws-lambda-functions-the-right-way-4a4b5ae633b6

Lambda 関数は設計上エフェメラルですが、コンテナーは最適化のために再利用されます。つまり、呼び出しによって保持されるメモリ内の状態を引き続き活用できます。

そのようなキャッシュを無効にできるかどうかはわかりません.env変数はラムダインスタンスに対してローカルである可能性が高く、http、snsはおそらく困難/高価です.

4

1 に答える 1

3

ええ、それは Lambda では機能しません。

ある種のサードパーティのキャッシュを使用する必要があります。


GET リクエストのみをキャッシュするだけで十分な場合は、そのために CDN を使用できます。

私は個人的に、すべてのGETリクエストをn分間キャッシュする CloudFlare CDN を使用しています。そして、無料でたくさんのリクエストを受け取ります。カスタムページ ルールを定義して、特定の URL パターンのすべてをキャッシュするだけです。

CloudFlare ページ ルール

もちろん、同じことが CloudFront (AWS エコシステム内にとどまるため) または他のほとんどの CDN で実行できます。

于 2018-01-16T12:02:29.727 に答える