SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

DB Magazineスペシャル

DeNAの人気サイトに学ぶ LAMPによるWeb-DBシステム構築/運用の極意(後編)

エンタープライズでのオープンソース使いこなし術


株式会社ディー・エヌ・エーでは、「モバオク」「モバゲータウン」などの、Web/携帯電話向け大規模サービスを開発/運営しており、新しいオープンソースソフトウェアの導入も積極的に行なっている。本パートでは、このような実績を通して見い出されてきたWeb-DBシステムの構築/運用ノウハウを紹介していく。前編はこちら。  (DB Magazine 2007年6月号より転載)

MyDNSによるDNSラウンドロビンの問題解決

 MyDNSを導入して利用した場合、先述のDNSラウンドロビンの問題点が以下のように解決できる。

分散比率の制御

 MyDNSには、重み付きラウンドロビンが標準でサポートされている。ウェイトはrrテーブルのauxカラムに設定する。値が小さいほうが優先される仕組みである。

 この機能を使用してスレーブサーバーごとの処理能力に応じた分散制御が行なえる(画面3)。

画面3:MyDNS rrテーブル設定例
画面3:MyDNS rrテーブル設定例

 DeNAではaux値に比例して分散するようにパッチを当てている(LIST3)。

LIST3:MyDNSへのパッチ
diff -urN mydns-1.1.0/src/mydns/sort.c mydns-1.1.0-dena/src/mydns/sort.c
--- mydns-1.1.0/src/mydns/sort.c 2006-01-19 05:46:47.000000000 +0900
+++ mydns-1.1.0-dena/src/mydns/sort.c 2006-12-31 05:19:11.000000000 +0900
@@ -180,7 +180,7 @@
weights += ((MYDNS_RR *)node->rr)->aux;
if (weights >= rweight)
{
- node->sort1 = 65535 - order++;
+ node->sort1 = order++;
}

 このパッチにより画面3の設定例では、1:2の割合でリクエストが分散される。さらにダイナミックにウェイトを変更できるので、状況に応じた分散制御はMySQLに対するupdate文を実行するだけで可能である。

障害時の対応

 加えてRRレコードの検索条件を追加指定できる機能があり、/etc/mydns.confのrr-whereパラメータに次の検索条件を追加する。

rr-where=aux>0

 これによりauxが0の場合は名前解決から除外されるようになる。auxカラムもMySQLに対するupdate文の実行だけでダイナミックに変更できるため、監視プログラムなどからスレーブサーバーの障害を検知した場合、自動的にスレーブ群からの切り離しができる。監視プログラムは自前で用意する必要があるが、

update rr set aux=0 where data='故障スレーブサーバーIPアドレス'

 を実行するだけで良いので簡単に用意できるだろう。この機能は、大変便利で障害対策だけでなくメンテナンス時などにもよく利用している。

次のページ
性能劣化を検出する「リトマス紙」サーバー

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
DB Magazineスペシャル連載記事一覧

もっと読む

この記事の著者

能登 信晴(ノト トキハル)

株式会社ディー・エヌ・エーにて、ケータイ向けサービス開発と運用を担当。以前はソリューション事業の一環で顧客企業向けコンサルティングや提携サイト構築プロジェクト統括なども行なっていた。「DeNA 技師のメモ」更新中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

早乙女 正巳(サオトメ マサミ)

株式会社ディー・エヌ・エーにて、ケータイ向けサービス「モバコレ」の立ち上げと運用を担当。以前はディー・エヌ・エーのPC サービスの開発を幅広く担当していた。モバコレに関しては1 人で物流/決済などを含むすべての開発を約2 ヶ月で行なった。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/26 2008/12/09 12:06

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング