私は、テナント/クライアントごとに圧縮されたパッケージを備えたマルチテナント アプリを持っています。これには、それぞれのパブリック サイトのテンプレートとハンドラーが含まれています。現在、50 未満のテナントがあり、その特定のクライアント ドメインへの最初の要求の後、インポートされたアプリをメモリに保持することは問題ありません。
このアプローチはうまく機能しますが、変更を加えたり、新しいクライアントを追加したりするたびに、新しいクライアントの圧縮パッケージを使用してアプリを再デプロイする必要があります。
現在、これらのパッケージを Web アップロードでアップロードし、ブロブストアに保存できるように取り組んでいます。
私の懸念は次のとおりです。
もちろん、ブロブストアからパッケージを取得するのは、圧縮されたパッケージをファイル システムにインポートするよりも時間がかかります。しかし、これは最大の問題ではありません。
ファイルシステムになく、パスがないモジュールをロード/インポートするにはどうすればよいですか?
すべてのクライアント パッケージが約 1 MB の場合、クライアント ベースが少ない限り問題にはなりませんが、1k またはそれ以上になるとどうなりますか? 明らかに、数GBのデータをメモリに保存するのに十分なメモリがありません。これに対処する最善の方法は何ですか?
インスタンス メモリを使用して以前のテナント パッケージをメモリに格納する場合、新しくアップロードされたパッケージがある場合、メモリ内のデータはどのように無効になりますか?
この種の状況に対処する方法についていくつか考えていただければ幸いです。