人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの開発で質問です。

負荷分散により、複数のサーバーを使用しての開発をしております。
ただ、あくまで公開部分のみを複数台のサーバーにし
DBサーバーと管理画面は、一つのサーバーで設置します。

その場合、管理画面で、画像をアップロードするシステムを入れる場合は
どの様な処理をすれば宜しいのでしょうか?
全てのサーバーに画像をFTPか何かでアップロードするのでしょうか?


●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP アップロード サーバー システム 画像
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ホーエンハイム
●27ポイント
  1. 「公開部分のみ」というのは、Webアプリケーションサーバを意味していますか?
  2. 「画像をアップロード」というのは、そのアプリケーションサーバに静的に画像ファイルを置くことを意味していますか?

両方ともYESであれば、通常、ある1台のアプリケーションサーバに静的ファイルを置き、それを自動的に全サーバに配布するシステムを組み込みます。

最も手軽な方法としては、rsyncを使う方法があります。

◎質問者からの返答

ご質問の点は、おっしゃるとおりでございます。


2 ● cuspos
●27ポイント

こんにちは。

アプローチとしては2つ考えられそうです。


Bombastusさんが仰る方法が1つ目です。

1.管理画面にファイルをアップ(この段階では1台のみ)

2.ファイルを公開サーバーと同期する

※アップデートは同期処理で実施すると思いますが、ファイルを公開サーバーと同期するには、システムの要件によりますが多少工夫がいるかもしれません。rsyncがお手軽ですね。


2つ目はちょっと回答からずれるかもしれませんが、mogileFS等の分散ファイルシステムを使う方法です。

http://builder.japan.zdnet.com/sp/open-source-software-moonlinx-...

分散ファイルシステムに画像を置いておけばいいだけで同期処理の部分は気にしないでよくなります。ファイルシステム自体が今回の要件に適合するかの性能評価は必要ですが。

◎質問者からの返答

shellに関して、明るくないため、素人な質問ですみませんが

rsyncに関してですが、コピー元とコピー先に、IPをしていして

同期するということなのでしょうか??


3 ● cuspos
●26ポイント

こんばんは。

要件が全部わからないので何とも言えませんが、rsyncに関しては以下のURLが参考になるかと。deleteオプションで管理サーバとフロントサーバと同期してあげればよいのではと思います。

http://www.itmedia.co.jp/enterprise/articles/0804/21/news013_2.h...

phpはちょっと離れてしまっていますので適切かどうかわかりませんが、system()、exec()あたりでスクリプトを叩いてあげれば実現できそうです。

後は同期処理とするか非同期処理とするか検討すれば要望の動作になるかと思います。

単純に管理サーバの特定のディレクトリと同期すればよいだけであればlsyncdなんかでもいいかもしれません。

http://sourceforge.jp/projects/freshmeat_lsycnd/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ