吉隆坡出差之行,見識到Symantec一個software failover的product叫Veritas,覺得這product idea不錯,思考一下怎麼仿製Veritas的架構。欲被Veritas進行failover的程式,需為該程式撰寫run.sh和shutdown的script,經由配置檔設定active和slave主機,由這兩台主機互相handsharking,若active主機本身停止運作、或是某程式停止運作,slave主機經由handsharking得知而啟動自身的程式。反之若蓄意讓active主機A程式停止運作,slave主機接手時A程式啟動失敗的話,又會由active主機接手A程式繼續啟動。

  Veritas用到一個Linux程式設計常用的技巧,就是run.sh作法將已啟動的程式的Process ID寫到指定位置下的檔案,在shutdown.sh被呼叫時會去讀該檔案然後kill該process。這樣一個產品功能要仿製應該不算難,賽門奧客還有辦法拿來賣錢,還綁著只能failover三支程式的Licence。在目前吉隆坡的案子裡架構程式是可以被Veritas進行failover,但也可以在架構下寫個仿Veritas模組,由架構進行failover,就不必擔心Licence的問題。目前進行的架構是屬上一節的bootstrap,原本是設計來monitor thread,是故可以考慮monitor process這種type。

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()