有大人先生問道:
如果A主機安裝了MyMirror,然後被使用者放入了一個1GB的單一檔案,則會立刻同步給B主機,但B是在另一地點,此時ADSL是否就塞滿了,且1GB在傳輸過程中會耗時許久,是否就影響了即時同步所強調的即時性呢?
有小子學生應答:
話說奧圖星基地被昆蟲軍團偷襲危在旦夕,指揮官緊急請求星際戰艦企業號艦長,用分子傳輸器 “即時” 傳輸1024名戰士和1隻重1024 MB的戰鬥恐龍,到奧圖星 “即時” 加入戰鬥!
艦長果然沒有食言,1024名戰士 “即時” 陸陸續續抵達,立刻加入戰鬥。但是戰鬥恐龍必須被分成1024小塊分批傳送,等全部小塊傳送到奧圖星再組合起來。結果戰鬥恐龍的腳指頭還沒傳完,基地就被昆蟲軍團佔領了。
事後奧圖星指揮官指責企業號艦長:「叫你 “即時” 傳送恐龍過來,為什麼只有腳指頭先過來!」
企業號艦長回嗆:「哭么!你給我1024倍大的分子傳輸器,我就給你 “即時” 傳過去。」
高速電腦中心
以上是電影的情節,在真實的世界裡,我倒真的碰到一次這種情節;有一次去拜訪國家高速電腦中心,我用業務人員的天下第一招 -- 挑起客戶的痛處 (強強強)
我說:「嘿嘿嘿!你們那麼多資料每天從台北傳到新竹,速度不夠快是不是啊!來來來,用我們家的產品……」
客戶打斷我的話:「對不起先生,我們的廣域網路是超過 Giga 的,沒有傳輸速度的問題。」
「是喔,」我恍然大悟,「難怪叫做國家高速電腦中心。」
言歸正傳
關於跨 WAN 的資料即時同步,瓶頸永遠在傳輸的頻寬。假設您用 2M的ADSL傳輸 1G的檔案,檔案當然不能「即時」全部到達,這是所有軟體產品與資訊科技都做不到的事,因為「物質不滅定律」還沒有被推翻。
但是使用 MyMirror,您的ADSL頻寬是不會被塞滿的。MyMirror 實體的傳輸單位是 block,MyMirror 會一次傳輸一組 block(譬如8 KB大小),用小組快傳的方式,將資料送到遠端的 B server上。所以,當 A server 瞬間有大量的新資料要寫入到遠端 B server 時,聯繫其間的ADSL會被拖慢一些,但是不會被塞爆。
另外,如果兩台機器是在同一個 LAN 裡面,您可以另外使用一張網路卡(或光纖卡),將兩台機器串起來。如此,網路既不會塞車,資料也會「即時」到達。
您的問題限定在 A server 寫入一個「新的」1 GB單一檔案,我的答覆如上。如果您提的是一個「舊的」1 GB單一檔案,其中有 512 KB的資料被修改,MyMirror只會傳輸這被修改的 512 KB,不會重新複製所有的 1 GB的資料。這樣,同步的狀態就符合「即時性」了。
技術細節請閱下文:
The real-time replication starts as soon as there is data come in and writes to the active system, like 8KB per write. So 8KB write to the active system, the same 8KB is also written (replicated) to the passive system at the same time. The process will keep going until all 1GB is written to both systems. Therefore the latency of ADSL may slow down the replication process a little, but you still write the data to both systems in real-time.
沒有留言:
張貼留言