會員中心 | iThome online | iT邦部落格 | 小7聚樂部 | iThome download | apphome

載入中...

npnx

iT邦初學者
10級

關於網站備援機制建立
標籤:網站 備援

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

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

問題來了,

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

謝謝!

補充說明:

我希望的是台灣伺服器為主,國外伺服器為備用主機
台灣伺服器必須隨時要把資料(包含SQL及某些目錄檔案)同步至國外伺服器
以方便台灣伺服器掛點時,我可以透過修改DNS指向指到國外伺服器
完成指向後,資料庫裡的資料會是最新的,不會跟原來的有落差

這樣的一個"完全同步/隨時同步" 機制要怎麼做比較好?有現成工具可用嗎?

2013-03-05 15:03:15 補充


發佈到:發佈到Facebook 發佈到噗浪 發佈到twitter
分享時間:2013-03-05 14:10:01
▼ ADVERTISEMENT ▼

最佳解答(發問者自選)
1

回答:sharbui ( iT邦初學者8級 )

時間: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
關於網站備援機制建立
回答:slime( iT邦高手3級 )
時間:2013-03-05 14:33:06
3
如果只有 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 正常, 則異動網頁. (緊急處理到此)
7. 當 SQL 確定已經複寫完成, 才把網頁改回來.

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

[-隱藏]

回應 slime

1

npnx 說:

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

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

2013-03-05 15:04:59

2

slime 說:

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

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

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

2013-03-05 15:14:16

回答:oowo( iT邦初學者1級 )
時間:2013-03-05 15:23:39
3
你可以試著用同一組公開 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...)

[-隱藏]

回應 oowo

1

slime 說:

這樣有點像簡易的 Load Sharing ,

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

(如果有錯也請指正)

2013-03-05 15:52:03

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 
▼ ADVERTISEMENT ▼


檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

哈哈
毆飛
開心
抗議
落寞
睡覺
噴鼻血
No
失神
爆氣
疑惑
Orz
不耐煩
喜歡
臉紅
噎到
放手
打嗑睡
掰掰
放馬過來
敲碗
簽名
筆記
拍手
沙發
XD
無言
偷笑
翻桌
謝謝
灑花
抱抱
逃跑
炸死你
愛你
生日快樂
rock
嘆氣
下雨
衝刺
搖頭
拍照
打球
健身
駭客
射門
泡湯
踹共
唱歌
做菜

上傳圖片
▼ ADVERTISEMENT ▼

邦友收藏動態

最新收藏最多人推最多人收

新增收藏

收藏到iT邦 書籤小工具

「收藏到iT邦」讓你更方便收藏站外文章。可用下面其中一種方法安裝:

  • 拖拉上面的「收藏到iT邦」連結到瀏覽器的書籤列
  • 在連結上方按右鍵,選擇「加到我的最愛」

之後看到喜歡的站外文章,只要點一下「收藏到iT邦」,就會收藏起來囉

安裝「收藏快捷鍵」

安裝「收藏快捷鍵」,可以讓邦友直接透過Google工具列上的按扭,快速收藏站內、站外的網頁。

訂閱每日摘要

iT邦幫忙即日起提供「每日摘要」給尚未註冊的邦友,只要輸入您的E-mail,每日就可以收到最新的發問與分享