タグ付けされた質問 「nginx」

4
レート制限*非*認証済みリクエスト
レート制限も行うロードバランサーがあるとします。レート制限は、ログインしているユーザーにとっては非常に簡単に思えます。JWTを確認し、メモリ内のデータストアを使用して、そのユーザーの過去10秒間のリクエスト数を確認してください。 ただし、ログインしていない(認証されていない)ユーザーについてはどうですか?誰から、またはどこからリクエストが送信されているのか正確にはわからないため、これらのリクエストを簡単にレート制限することはできません。 AWSや他のホスティングプラットフォームにこれに対する組み込みのソリューションはありますか?ログインしたユーザーのレート制限ロジックを手動で処理する必要があるようですが、ログインしていないユーザーはどうですか? 私の推測/希望は、ホスティングプラットフォームで認証されていないリクエストをレート制限するための組み込みメカニズムがある可能性があることです。すべてお知らせください。

2
マイクロサービスと正規モデル
このサイトでマイクロサービスについて読んでいたときに、以下のステートメントに出くわしました。正規スキーマとはどういう意味ですか?ドメインモデルと同じではありませんか? マイクロサービスアーキテクチャパターンは、正規スキーマの概念など、SOAの他の部分も拒否します。

1
すべてのユーザーの認証済みリクエストをキャッシュする
同じコンテンツをリクエストするために、承認が必要な同時ユーザーの非常に大きなインパルスを処理する必要があるWebアプリに取り組んでいます。現在の状態では、32コアのAWSインスタンスでさえ完全に機能しなくなっています。 (Nginxをリバースプロキシとして使用していることに注意してください) 最悪の場合、JWTをデコードしてユーザーが認証されているかどうかを確認する必要があるため、応答を単純にキャッシュすることはできません。これは、ほとんどが同意するだろうLaravel 4、最大発射たち必要です遅い PHP-FPMとOpCacheが有効になっていても、。これは主に、ブートストラップ段階が多すぎるためです。 「これが問題になることがわかっているのに、なぜPHPとLaravelを最初に使用したのですか?」-しかし、その決定に戻るには今では遅すぎます! 可能な解決策 提唱されている1つの解決策は、LaravelからAuthモジュールを軽量の外部モジュール(Cなどの高速なもので記述)に抽出することです。このモジュールの責任は、JWTをデコードし、ユーザーが認証されるかどうかを決定することです。 リクエストの流れは次のようになります。 キャッシュヒットかどうかを確認します(通常どおりPHPに渡されない場合)。 トークンをデコードする 有効かどうかを確認する 場合は、有効な、キャッシュからサーブ 無効な場合は、Nginxに通知すると、NginxはリクエストをPHPに渡し、通常どおりに処理します。 これにより、このリクエストを1人のユーザーに提供した後はPHPにヒットせず、代わりに軽量モジュールに手を伸ばして、JWTのデコードやこのタイプの認証に伴うその他の警告をいじくります。 このコードを直接Nginx HTTP拡張モジュールとして書くことさえ考えていました。 懸念 私の懸念は、これがこれまでに行われたのを見たことがないことであり、より良い方法があるかどうか疑問に思いました。 また、ユーザー固有のコンテンツをページに追加すると、このメソッドは完全に強制終了されます。 Nginxで直接利用できる別の簡単なソリューションはありますか?または、ワニスのようなより専門的なものを使用する必要がありますか? 私の質問: 上記の解決策は意味がありますか? これは通常どのように行われますか? 同様またはより良いパフォーマンスの向上を達成するためのより良い方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.