4

Half serverless blog with react front endは私がAWSの技術を利用してAWS上nodeJSにこの種のスケーラブルなブログやアプリケーションをホストする、この一部はサーバレスアーキテクチャ設計

に関するフィードバックを必要とします。ここでのアイデアは、CMS/adminパネルを実行するためだけに、Webサイトの提供に責任を負わない小さなEC2サーバーを用意することです。これらの操作はサーバーレスでも可能ですが、専用の小さなVM EC2インスタンスを使用すると効率が良く、既存のフレームワークなどでうまくいくと思います。

上記の図では、2種類のユーザーが表示されていますaudiencesおよびadmin/writers。 Admin CRUD操作によってもラムダが実行されます。 LambdaはAdminの変更後に静的なサイトを生成し、S3に配信されます。ユーザーはS3でホストされている静的サイトに誘導されます。管理者/作成者のみがサイトのサーバー接続部分にアクセスできます。

これは、ユーザーに面する側がすべて静止している限り、非常にスケーラブルで比較的安いサイトでは良い設計だと思います。これに代わる方法はCDNですが、キャッシュの無効化の問題、遅く更新されるサイト、およびより大きなサーバーに対処する必要があります。

これは私には勝利のようです。フィードバック?このアーキテクチャのための他の考慮事項のカップルがあります

+2

このデザインで何か問題はありません。基本的には、EC2で動作する静的なサイト管理者と、Lambdaで動作する静的なサイトジェネレータを構築しています。また、EC2ですべてを実行することもできます。これをすべて最初から構築しているのですか、既存の静的サイトツールを使用していますか?ラムダで実行される既存の静的サイトジェネレータを次のように見たいと思うかもしれません:https://github.com/ryansb/hugo-lambda –

+1

マークBは、基本的に単純な静的サイトを構築していると言っていますカスタマイズは可能ですが、バックエンドロジックはまったくサポートしていません。あなたが心配しているのは、静的なコンテンツページがほとんどであれば、デザインはOKです。 –

+0

サイトコンテンツの更新頻度は? –

答えて

0

これはコメントではなく、答えはあるべき、私は十分なポイントを持っていないよう...

。ラムダ関数は、小さな関数を並列に数十または数百回実行することで、マイクロサービスを水平方向にスケールアウトするのに最適です。静的なサイトの生成は、通常、単一スレッドの操作であるため、期待した結果が得られない場合があります。また、タイムアウト期間(現在最大300秒)を監視し、その時間にサイトを生成できるようにする必要があります。もちろん、ラムダコードを実行していない場合は、請求されません。

あなたの管理フロントエンドの場合、私はElasticBeanstalkを提案します。あなたが一度にそれをペグしても、更新プログラムのような素晴らしい機能がたくさんあります。

プロジェクトで幸運を祈る。

関連する問題