web-dev-qa-db-ja.com

2つのWebサーバーファイルを負荷分散で同期するにはどうすればよいですか?

より多くの訪問者に対応するために、負荷分散されたWebサイトをセットアップする必要があります。

フォーラムで、varnish(balance)-> Apache(web1&2)-> mysql(dbserver)が最適な方法であることを確認しました。

ワニス->単一のウェブサーバー-> mysqlを設定する方法は知っていますが、バランスを取るために2つのウェブサーバーはありません。

しかし、どうすれば両方のWebサーバーコンテンツをリアルタイムで同期できますか?私のカスタムアプリでは、訪問者がファイルを投稿できます。

これを構成する方法について教えてください。

私のセットアップ。

        (internet)
             |
  (load balance server)
            / \ 
           /   \
 (webserver1) (webserver2)
          \     /
     (database server)

ありがとうございました。

3
shinmac

アップロードされたすべてのファイルのリアルタイムレプリケーションが本当に必要な場合は、GlusterFSのような分散ファイルシステムが必要であるか、DRBD/ocfs2セットアップを使用します。

それ以外の場合は、csync2または単純なrsyncスクリプトを使用します。

1
r_3

Webサーバーの同期を維持するために csync2 を確認することをお勧めします。これは、クラスター化されたホストの同期を維持するタスク専用に設計されており、競合を自動的に処理するように構成できます。

Csync2は構成ファイルを同期するために開発されましたが、アップロードされたデータの同期にもCsync2を使用できなかった理由はわかりません。

KMが提案したように、ネットワーク共有(NFS共有など)を作成し、そこにすべてのアップロードを投稿することもできますが、何か問題が発生した場合に両方のWebサーバーを停止しないようにNFSサーバーが十分に冗長であることを確認する必要があります。

0
Ketola

Varnsihとの負荷分散 または HAProxy を参照してください。アップロードされたファイルを同期するには、ユーザーがファイルをアップロードできる両方のホストにマウントされたネットワーク共有の作成を検討してください。

0
KM.