web1、web2、db1、db2を使用したwebシステムを開発し勉強したいと思っております。
下記構成で考えています。
<構成>
web1-DB1
| |
web2-DB2
webは、apacheで考えています。最悪IISでも構いません。
DBは、mysqlかposgreで考えています。最悪SQLServerやOracleでも構いません。
<質問1>
web1-DB1
web2-DB2
で接続する構成を考えているのですが、
apache1、apache2からは、両方のDB1、DB2に接続する構成を取るのが普通でしょうか?
<質問2>
何か良い参考書等はありませんでしょうか。
ご教授お願いします。
No.1ベストアンサー
- 回答日時:
>apache1、apache2からは、両方のDB1、DB2に接続する構成を取るのが普通でしょうか?
それは何とも言えませんね...
どちらのapacheからもDBへのアップデートがあり、かつどちらのDBも同じデータを持っていなければならない、かつどちらのDBが落ちてもサービス継続が必須であるなら、MyClusterなどの製品が必要になるかもしれません。
要は、
・冗長化の要件(耐障害性の度合い)
・DBの使い方(アップデートがあるのか、参照だけなのか)
・apacheやDBはどのように冗長化するのか(ロードバランサを使うのか、そもそも各サーバで違う機能なのかなど)
によって設計が全く異なってきます。
ちなみにうちでやる場合、MyClusterを使っているのもありますが、そこまで予算がない案件の方が多いので
・DBは片方をマスタ、もう一方をスレーブとしてレプリケーション構成にする
・アップデートはマスタに対してのみ行う
・参照は両方のDBを使う
・マスタDBが落ちたら手動でスレーブDBをマスタに変更してサービス復旧する
ような場合が多いです。
参照に関しては、DBへのアクセスを監視するスクリプトをwebサーバで動かして障害を検知したら/etc/hosts を書き換えれば(アプリ的にはホストネームでDBにアクセスさせておく)落ちたDBサーバへはアクセスしないようにもできますし、dnsラウンドロビンで負荷分散的なこともできると思います(同様に監視スクリプトにゾーンファイルを書き換えてリロードさせるとか)。
やはり、片方はレプリケーション用のバックアップですか。
さすがに、負荷分散装置は高いので、DNSラウンドロビンでしてみようと思います。
情報ありがとうございます。
No.2
- 回答日時:
一般的には、WEBサーバが複数あっても、DBが1つの場合が多いです。
理由は、DBが複数あると、データの整合性を保つのがめんどくさいから。
DBサーバを複数用意する場合もありますが、その場合は、あくまでバックアップ用であって、WEBサーバから直接参照されるのは1台(もう少し厳密に書くとすると1インスタンス)です。
ちなみに、WEBサーバを分ける(負荷を分散させる)場合、WEBサーバに来る前段でロードバランサ(負荷分散装置)と呼ばれる機器を入れたりします。
やはりDB1つですよね。
1つで構成するなら
DNSラウンドロビンで何とかなりそうです。
さすがに負荷分散装置は、お金がかかるので…。
情報ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- IT・エンジニアリング WEBサービスを利用して参照とはどういうことですか 3 2022/12/09 15:46
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- その他(開発・運用・管理) Beutiful Soupを用いてWebスクレイピングを行おうと考えているのですが、 <meta n 1 2022/06/01 20:18
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(ブラウザ) Webブラウザについての質問です。 2 2023/03/21 19:23
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
会社の共有フォルダのIPアドレ...
-
530が出て、FTPアクセスできません
-
DHCPのエラーについて
-
メモ帳の排他について
-
ファイルコピーする場合のサー...
-
squid cache_peerのproxy-only...
-
サーバの日付を変更するとWebア...
-
tar -zcvfコマンドでの圧縮につ...
-
administrator、administrators...
-
net timeができない。
-
tarで/(ルート)から全ディレ...
-
自分のPCがリモートされてるか...
-
リモートデスクトップの有効期...
-
Windowsでリモートデスクトップ...
-
特定のユーザーをログオン不可...
-
遠隔操作によるサポートを受け...
-
対象のアカウント名は間違って...
-
ActiveDirectoryで一般ユーザー...
-
ドメインをワークグループに変...
-
Windows ドメインユーザーとロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
会社の共有フォルダのIPアドレ...
-
530が出て、FTPアクセスできません
-
メモ帳の排他について
-
ファイルコピーする場合のサー...
-
RHELのErrataの適用
-
fastcopyとタスクスケジューラ...
-
DNSサーバへの負荷試験ツール・...
-
自動メール送信するには?
-
administrator、administrators...
-
subversionサーバ用のGUIツール...
-
ActiveDirectoryのリプレース作業
-
サーバー台数は何台くらい必要なの
-
32bit/64bitアプリケーションの...
-
FSMOの時刻同期設定について
-
outlookで見る予定表の共有
-
net timeができない。
-
tarで/(ルート)から全ディレ...
-
プロセス多重起動エラー(「for...
-
Win2000サーバの割り当てエラー
-
DMZと社内LANは違うWindowsドメ...
おすすめ情報