web-dev-qa-db-ja.com

マルチテナントアプリケーションのキャッシュとしてRedisを使用する

キャッシュとしてredisに依存するマルチテナントアプリケーションの構築に取り組んでいます。現在、redisを使用してマルチテナンシーを実現するための実現可能な方法を研究しています。 redisエンタープライズはマルチテナントサポートを提供しているようですが、私が知っている限りではredisエンタープライズバージョンを提供していないAWS ElasticCacheを利用したいと考えているため、他に実行可能な代替策があるかどうか疑問に思っています。

最も簡単な解決策は、アプリケーションレイヤーですべてのキーに「テナントID」を付加するだけで、各テナントのデータを分離し、すべてのデータを単一のredisクラスターに格納することです。アプリケーションは、現在のテナントに基づいてデータを読み書きし、正しいIDを付加します。

このアプローチに問題はありますか、またはredisエンタープライズを使用せずに実行可能な他のソリューションはありますか?

3
Brad

さらに調査した結果、回答に満足したので、自分の投稿に回答します。

この特定の記事では、マイクロソフトが先頭に追加されたテナント(この場合はクライアントID)を使用することを推奨していることがわかります。 https://docs.Microsoft.com/en-us/Azure/architecture/multitenant-identity/token-キャッシュ

さらに、私が使用しているフレームワークには アプリ/サービスを分離するための文字列を前に付ける特定のオプションとコード があることがわかりますので、これは一般的な方法のようです。この情報に満足しているので、このオプションを使用します。

5
Brad