本稼働に向けての構成を考えよう
- システム要件
- Webサーバ
- データベース
- Twitetr日本語PublicTimelineクローラ
- 収集した情報からインデックスを作成する
- 検索する
- ページに表示
こんなところかな
とりあえずはマシン1台で、無理があるなら機能別に分離予定
ハードウェアは余ってる自作PCのAthlon64 X2 5000+を使う予定
DBのバックアップ先は自分のメインマシン
しなきゃいけないこと(上から順番に
- データベース
- DataImportHandlerの調査
- DBの設計
- バックアップ方法の調査
- クローラの再設計
- 検索
- Sen
- analyzer-sen.xml
- その1 solrjを使う場合
- 検索
- solrでのMoreLikeThisの使い方
- solrjで簡単に検索
- 検索結果の取得
- solrjで何かを取得
- 検索
- Sen
ここまでで検索の基本機能は完成
- SAStrutsとS2JDBCを使ってwebページを作成
- solrJで受け取った結果をどのように表示するか?
- クエリーの検索結果はsolrJで取得、そのとき表示のためのユーザー情報はDBから取得?
- solrJで受け取った結果をどのように表示するか?
- Webデザイン
- ロゴとかそのへんも
- 更にMayaaなども勉強する必要あり?
ここまでで開発環境での開発完了
ここまでで実稼動環境の構築完了
- ドメインの取得
- 金払う or DynDNS
サービス開始!
こうやって並べてみるとすること多い
目標は7月中
最悪夏休み終わるまでに完成させたいな
- おまけ
サーバをXenやKVMで仮想化してみようと思ったんだけど、やっぱり大きくパフォーマンス落ちちゃうのかな
これについても調べてみよう
-
- おまけその2
サーバを1台追加するとなると、役割としては
サーバA:Webサーバ(検索)
サーバB:クローラ、DB、インデックスの作成
という風に機能別に分ける予定
もしこれが仮想化してあれば、マシンをメンテナンスしたいときに仮想化イメージをそのままもう1つのマシンに移せばサービスをとめる必要がなくなる。
-
- おまけその3
単純にアクセス負荷が増えたら3台目の投入(ありえない)になるけど、
サーバA1
サーバA2
サーバB
という構成になって、webサーバをAに割り振る。
データ(index.htmlなど)は共通のものを持つか、サーバBにデータを置いて、サーバAから参照するという手もある。サーバBにはLVSを置き、サーバAの2つに処理を割り振る。
こんな無駄っぽいこと何故したいかっていうと、少し前にLVSとGFSテストしたから実際に使いたいってだけwww