目前公司在美國有租一台伺服器架網站,這機器不是虛擬伺服器,用起來像是實體主機,差別在於需遠端控制罷了。在GoDaddy租的。
問題來了,主管提到說要架鏡像伺服器。因為我是寫程式的,系統方面較不熟,完全沒有方向,只知道不同的功用似乎架構就不同。於是問了主管的目的,他說是要服務不中斷和流量分攤,所以就是要同時有兩個相同的WebServer同時在Working囉。
網路上找了一下,有SqlServer的鏡像做法、叢集等...還是不知所云。
請各位能幫我說明一下要如何架設嗎?是要在GoDaddy再租一台機器?還是...?
目前Server是MS2003、SQL2005。
這個題目給的有點大,有點無從下手。
首先,你要弄清楚老闆的意圖。服務不中斷是要"即時的"還是可以有"時間差",這兩著的差異十分大,前者要付出的成本是比較高的,而且高很多!
其次流量分攤,你老闆的流量分攤是指在同一個site做流量分攤還是,不同的地區不同的site做流量分攤,這其中的技術及成本也是不同的。
上面兩項的組合就有好幾種,牽扯到的技術及成本也不同。總結就是,先和老闆把問題了討論清楚再來找方案,才不會無所適從。因為你的目標會很明確,就算找廠商也會比較容易談清楚。
上面的人說:
我們會想知道兩種基本的運作是如何?差異在哪?成本差異又有多大?
流量分攤部份也是,我們會想知道有哪幾種方式?技術與成本各為何?
當知道各其運作方式之後,我們再來決定要用哪種架構,花多少成本。
所以請大家列給我幾個參考架構方式吧。因為真的太無所適從了...
我之所以在一開始就說"這個題目給的有點大..",主要就是這個範疇的議題認真的寫可以寫上幾個小時,或幾天。甚至可以出書。不適合在這裡討論。
我建議你從下面幾個重點下手。
如果我再去分類問主管的範圍,那就是做事很沒效率了。
我想老闆主要是想先比較看看各種作法,有了初步認識再來抉擇。殊不知各種差異是大到天荒地老,成本差到天壤之別。所以才要我都列出來這門很深的學問。就像是
買衣服當然是要先貨比三家,只是不知道是拿LV和五分埔來比罷了。可是買東西前都早已知道要買的是高級貨還是低級貨了啊,呵呵。沒關係,這也是我的學習啊。
就目前在美國Working的WebServer而言,經常性變動的只是資料庫,頻寬目前也只是用了不到1%。所以很明顯的是主管希望當這台Server掛了,使用者仍可以不知情的連上另一台備用繼續使用,這時資料庫的同步便是學問了(資料還蠻重要的),如果SQL SERVER在幾分鐘內就做一次鏡像有傷大雅嗎?做得到嗎?而須有DNS的額外設定到另一台活著的SERVER?
而流量分攤就不考慮了。
看起來你們的SQL server 和web server 是在同一台機器。
後面的這個回應就可以看出需求了啊!
其實只要再增加一台主機就可以了,以目前的使用狀況看起來SQL Server可以幾分鐘同步一次(只是不知道"頻寬目前也只是用了不到1%" 是用了多少),最簡易的方法就是在第2台搞一個監控機制,如果第1台掛了就把第二台的IP換成第一台的IP就可以了。
只是你沒有告訴大家用的作業系統,以及SQL的版本。還有其他軟體方案可用卻不知道要如何幫你。
是啊,目前site都在同一台機器。
抱歉內,資訊沒提供清楚。
OS:Win2003+IIS。 DB:SQL Server2005。 無頻寬卻有月流量500G的限制。(平均月流量不超過50G)
"在第2台搞一個監控機制",這需要什麼樣的軟體呢?
而如果再多一台機器,是用DB做鏡像嗎?
很好,SQL Server2005有內鍵資料同步功能,因此你只需要關心同步的方式就可以了。如果資料量不多可以在inster一筆時同步寫到備援SQL上。
其他web上的程式或是內容可以用robocopy的 /mir去同步檔案。
至於我說的監控機制可以用what'up這類軟體,它可以監控主機及網路狀況,也可以執行script去切換主機的IP。
兩台主機是最便宜的做法。
謝謝您,大致上清楚了。再問個最後:
監控機制如果不是用軟體,再加第三台的DNS Server設定可行嗎?
或者因為Server都是租美國的代管主機,代管商通常應該有賣或提供DNS轉換的服務嗎?
不曉得您清不清楚?
用DNS切換IP,也是可以,但要記得TTL要設短一點。要不然等全部的DNS都更新了,你的server應該也修好了。
代管商通常應該有賣或提供DNS轉換的服務嗎
通常會有,但你們用的咖一家可以email問問看,要不然用 everyDNS也是可以的。
不知到開版大大的老闆是不是這個意思。
能想到最簡單的方式就是平衡負載(Load Balancing),簡易省錢平衡負載好像最常看到的做法就是架兩台一樣的伺服器,然後在DNS內建立兩個A記錄分別對應到不同的機器IP,不過這種方式並沒有智慧可言,而是隨機的.......