勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

お手軽に負荷分散(DNSラウンドロビン)を行う方法

   2024/01/12  サーバー

サーバ設定か何かの記事を見ていて「DNSラウンドロビン」という聞いたことのない言葉が出ていた。負荷分散技術の一つらしい。調べたことをメモ。

 

概要

1つのドメインに対して複数のIPアドレスを割り当てて、ドメインをリクエストしたユーザーに対して、ある程度均等にアクセスを振り分ける。

 

設定方法

「111.111.111.111」と「222.222.222.222」いう2つのサーバがあったとする。全く同じコンテンツになるよう、2つのサーバにサイトを作成する。

「aaa.com」というドメインのDNSのAレコードを「111.111.111.111」と「222.222.222.222」の2つ割り当てる。

 

メリット

設定が簡単。2つとは言わず、3つ目のサーバが必要になった場合もAレコードを追加するだけでいける。

 

デメリット

ログイン制のサイトだったりするとセッションの引継ぎが難しい。アクセスが完全に等分されるわけではない。偏る場合もある。

更新が多いサイトの場合、同一コンテンツを複数サーバで同期させるのが難しい。MySQLとか使う場合はレプリケーションしないといけないので手間がかかる。

 

その他

負荷分散と聞くとロードバランサが思いついた。ロードバランサだと高価というイメージがあり、縁がないものと思っていた。

DNSラウンドロビンだと様々なデメリットはあるものの、お手軽に試すことは出来るので、知識として覚えておく。

あと実際に試してみたところ、アクセスにけっこうな偏りが見受けられた。

 - サーバー

  関連記事

Linuxのシェルスクリプトについて
Linuxのシェルスクリプトについて

とあるサイトで自動更新で随時データベースにデータが挿入されるという機能があった。 ...

PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入
PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入

PHP5.3系から5.4系にアップデートしてから、WordPressがちょっと重 ...

VPSで決めた時間に自動でreboot(再起動)させる方法
VPSで決めた時間に自動でreboot(再起動)させる方法

VPSを常時起動させてると、どうもapache(httpd)がメモリを離してくれ ...

CockpitにGoogle Authenticatorを用いたOtp認証を導入する方法
CockpitにGoogle Authenticatorを用いたOtp認証を導入する方法

Cockpitのセキュリティ対策としてGoogle Authenticatorを ...

CentOSでサーバ時間のずれを調整する方法(NTPの時刻同期)
CentOSでサーバ時間のずれを調整する方法(NTPの時刻同期)

他サーバとAPIリクエスト等のやり取りをするにあたり、自サーバと他サーバの時間設 ...