理解逆虛擬機拷貝(Reverse Virtual Machine Replication) - 下

逆虛擬機拷貝是怎麼解決以上問題的呢。簡單來講,就是不給主機直接髮網絡包,而是發給備機作轉發:
1)請求包並非直接發給主機,而是發給備機;
2)備機並不處理請求包,而是緩存後直接轉發給主機;
3)主機的虛擬機接到請求包,執行業務邏輯,並執行正常的虛擬機拷貝到備機。緩存

這樣達成的結果是,傳統虛擬機拷貝里的主機承擔的網絡活動和業務活動被解偶了。在逆拷貝里,主機只承擔業務活動職責,而網絡活動的職責則有備機承擔。這樣,在主機失敗後,備機因爲保存了最新的網絡包(新於主機),即便備機保存的狀態並非最新(舊於主機),備機仍然能用存儲的網絡包回放來更新備機狀態。網絡

那問題來了,因爲備機被加入到關鍵路徑,備機若是失敗,整個系統也癱瘓了,因此失敗切換也須要考慮到備機。其實很簡單,這個時候直接把主機的業務端口打開,直接監聽業務網絡包便可。這個時候,全部因爲備機失敗沒法成功傳到主機的網絡包,會做爲簡單的丟包處理。而後由TCP來進行網絡重傳。性能

這樣來作,因爲去掉了傳統虛擬機拷貝的阻塞緩存,這塊回包的延時就去掉了。同時,拷貝也不須要高頻率進行,進一步改善了性能。spa

本文因爲篇幅限制,沒有辦法更加詳細的對可行性和細節進行討論,有興趣能夠讀一下原文。這裏貼一張原文的對比圖。ip

http://ieeexplore.ieee.org/do...get

clipboard.png

相關文章
相關標籤/搜索