私はPython/Djangoアプリケーションを持っています。スケールアップすると、複数のDjangoサーバ(異なるVM上で動作する)と1つのpostgreSQLサーバがあります。単一のデータベースサーバでDjangoアプリケーションを水平方向に拡大
これらのサーバー間で状態/情報を共有しないトランザクション管理はどのように行われるべきですか?
トランザクションをコミットするときに、行/テーブルなどを明示的にロックする必要がありますか?
私はPython/Djangoアプリケーションを持っています。スケールアップすると、複数のDjangoサーバ(異なるVM上で動作する)と1つのpostgreSQLサーバがあります。単一のデータベースサーバでDjangoアプリケーションを水平方向に拡大
これらのサーバー間で状態/情報を共有しないトランザクション管理はどのように行われるべきですか?
トランザクションをコミットするときに、行/テーブルなどを明示的にロックする必要がありますか?
これらのサーバー間で状態/情報を共有しないトランザクション管理はどのように行われるべきですか?
それはあなたのデータベースがすでにあなたのためにしているものです。
トランザクションをコミットするときに、行/テーブルなどを明示的にロックする必要がありますか?
なぜですか?あなたのデータベースはすでにこれを行います。
通常のDjangoトランザクション機能を使用してください。
https://docs.djangoproject.com/en/1.3/topics/db/transactions/
単一データベースが既に最も簡単水平にスケーラブルなソリューションです。何も心配する必要はありません。