分散 Python アプリケーションの耐久性のあるアーキテクチャについて知りたい。 私が以前に尋ねたこの質問は、それがどのような種類のアプリケーションであるかについての少しのガイダンスを提供するはずです. 私たちは、複数のコード サーバーと複数のデータベース サーバーを使用できるようにしたいと考えています。また、理想的には、管理しやすく、あまり負担にならない展開方法が必要です。
私が言及した質問は私が好きな答えを提供しますが、どうすれば耐久性を高めることができるのでしょうか、それには他の技術を使用する必要があるのでしょうか. 特に:
フロントエンド エンドポイントを WSGI にして (既に記述されているため)、メッセージ経由で配布されるバックエンドを記述します。次に、Celery キューからメッセージを取り出して必要な作業を完了するバックエンド ノードのプールを作成します。次のようになります。
Apache -> WSGI Containers -> Celery Message Queue -> Celery Workers。
Apache ノードは、ある種のロード バランサーの背後にあります。これは、スケーリングが非常に単純なアーキテクチャであり、正しく実行されれば、かなり信頼性があります。このようなシステムでの障害のコードであり、問題ありません。
永続的なアプリケーションを作成するための最良の方法は何ですか? 「失敗に備えてコーディングする」方法や、必ずしもそうする必要がないように別の方法で設計する方法についての提案はありますか? Python がこれに適していないと思われる場合、それも有効な解決策です。