13

コードの約 90% を共有する多数のサイトを実行しようとしています。API をクエリして結果を返すように設計されているだけです。それらは共通のユーザーベース/データベースを持ちますが、構成はわずかに異なり、CSS も異なります (おそらくテンプレートも異なります)。

私の最初のアイデアは、共通のライブラリを使用して個別のアプリケーションとして実行することでしたが、メモリ使用量を削減するのに役立つ可能性のある django の単一のインスタンスから実行できるサイト フレームワークについて読みました。

https://docs.djangoproject.com/en/dev/ref/contrib/sites/

私の質問は、サイト フレームワークはこのような問題に対する適切なアプローチであり、個別のアプリケーションを実行するよりも実際にメリットがあるかということです。最初はそうだと思いましたが、そうではないと思います。私は次のことを聞いたことがあります。

SITE_ID は settings.py で設定されるため、複数のサイトを持つには、複数の settings.py 構成が必要です。つまり、複数の異なるプロセス/インスタンスを意味します。もちろん、それらの間でコード ベースを共有することもできますが、各サイトには、サイトにサービスを提供するための専用のワーカー/WSGIDaemon が必要です。

これにより、各サイトで UWSGI インスタンスを実行する必要がある場合、1 つのフードの下で複数のサイトを実行する利点が実質的になくなります。

システムの代替案:

これではどのルートをたどればいいのかわからない。

4

2 に答える 2