iT邦幫忙

0

關於網站備援機制建立

npnx 2013-03-05 14:10:0110330 瀏覽
  • 分享至 

  • xImage

經過225是方機房停止服務教訓,我們決定建立網站備援機制,免得把雞蛋方放在同一個籃子上到時得不償失

網站環境為 windows server 2003 + ASP.Net + SQL 建置在台灣
目前想在國外租用一個主機,建置同樣環境

問題來了,

  1. 如果我想做到兩台主機資料同步,有甚麼好的建議?
  2. 承問題1,如果台灣主機掛了,我是否直接修改DNS指向就可以完成切換動作,有更自動或smart的辦法嗎?

謝謝!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
sharbui
iT邦新手 3 級 ‧ 2013-05-02 18:01:20
最佳解答

依您的敍述, 您要的應該是SQL Server異地同步的相關軟體吧?...
是有各家方案可以選, 但都不便宜, 透過修改程式, 一次寫2個資料庫, 好像也是可以.XDDDD....但別鬧了...

資料量多大, 允許多久的資料損失?...要Active-Active台是Active-Standby, 災後如何還原?..
Oracle上我們用Data guard / Goldengate 去處理..SQL也有相關軟體服務..
內建的應該能做到AS或有先天限制不方便的地方, 第三方的就是砸錢...

DNS 入口WEB AP DB...

依你文中好像DNS在第三個地方哦....那你DNS要不要備援.XDDDD

如果DNS是自己的, 寫個小shell 偵測主機, 異常時自動依條件去修改DNS資料, 重載DNS BACKUP SERVER, 也不是很難, 可以做到自動偵測與修改
但DNS切換要時間, 一次設2台做AA, 那也會扯到您資料同步的時差
一次設1台變AS, 那就要看你能不能允許最長1天的備援啟動時間....

檔案同步, 倒還好, 應該不太會有異動吧?...也許圖檔, rsync 或其他機制都可以做到一定時差同步....看你能容忍同步時差多久, 頻寬多大, ....有沒必要花大錢再精進那個同步時差....

好像各方向都和行政決定/錢有關.XDDD

6
slime
iT邦大師 1 級 ‧ 2013-03-05 14:33:06

如果只有 DNS 這部份, 則會考慮改用網頁自動轉向:
考慮特性:

  1. 由於 DNS 設定保留時間(TTL)太短, 則 DNS 負載較高, 若設定時間太長, 則來不及更新.
  2. DNS 更新介面不一.
  3. 如果使用網頁自動轉向, 可以由 httpd 或網頁的 iframe , http-equiv=refresh 來處理, 並設定該網頁為 noproxy , 更新較穩定.

架構:

  1. DNS 指向一個公開 Domain Name . (不變)
  2. Domain Name 對應的 host , 有個首頁(Home).
  3. 首頁內容是自動轉向至"功能主頁"(Main), 功能主頁可以在多台主機上, 如: http:\\A\main, http:\\B\main .
  4. 準備功能主頁的備案: Home_to_Main_A, Home_to_Main_B .
  5. 使用排程判斷 A 主機是否正常, 若正常則不動, 若 A 發生異常, B 正常, 則異動網頁. (緊急處理到此)
  6. 當 SQL 確定已經複寫完成, 才把網頁改回來.

(也許有現成的工具, 不過我會先想邏輯是否符合.)

npnx iT邦新手 5 級 ‧ 2013-03-05 15:04:59 檢舉

根據架構第2點,Domain Name 對應 host首頁,

在我理解中,如果這host掛點,是否整個指向就會失敗,導致user無法連到網站?

slime iT邦大師 1 級 ‧ 2013-03-05 15:14:16 檢舉

會有這風險....如果要更完備大概就要準備 2 台 AP 主機, 並同時上線的架構去考慮了.

還是要先看公司能承受的風險屬性:

  1. 允許中斷多久? 例如: 這次大概是 2 天.
  2. 中斷的程度? 例如: a. 完全不能用且只有連不上的訊息, b. 網頁還在, 顯示維修中, c. 有個功能受限的網站但還能用, d. 功能完整不過比較慢. e. 完全沒發現.

這樣也會有不同等級的方案可以想.

6
oowo
iT邦高手 1 級 ‧ 2013-03-05 15:23:39

你可以試著用同一組公開 Domain Name
指向的dns存在二個或多個ip(以nslookup查詢yahoo的方式)

yahoo.com
Server: dns.hinet.net
Address: 168.95.1.1

Non-authoritative answer:
Name: yahoo.com
Addresses: 98.139.183.24, 206.190.36.45, 98.138.253.109
這樣你就不用思考何時要改dns了…唯一問題就是網站同步的部分。(因為a上不去會自動找b...)

slime iT邦大師 1 級 ‧ 2013-03-05 15:52:03 檢舉

這樣有點像簡易的 Load Sharing ,

不過印象中並不會"自動找 B", 而是依軟體"A 或 B 隨便選一台"或"A 比較前面就選 A"
如果 A 停機, 則仍會發生無法連線或只有一半的機會連上.

(如果有錯也請指正)

我要發表回答

立即登入回答