我們將 DataServer 拆分為功能服務器和應用服務器,基于如下幾個方面的考慮:
(1) 能更簡單的添加不同類型的應用。在這種拆分的狀態下,如果需要增加一個新的應用,那么只需要增加一個新的應用服務器即可。比如,現有的應用服務器是以 TCP 的方式提供服務,如果我想增加一種以 WebService 方式來發布我們的服務,那么我只要增加一個 WebService 應用服務器,而不管是 TCP 應用服務器還是 WebService 應用服務器,它們的后端都是通過同一個功能服務器來提供功能處理的。
(2) 功能服務器框架可復用。由于功能服務器只處理功能請求,不參與用戶管理等其它具體與應用相關的內容,所以它是一個單純的服務器,正是由于這種單純性,使得功能服務器框架可以高度復用。比如,你想開發一套自己的特殊服務,那么完全可以將整個功能服務器搬過來,只要開發你自己的一系列功能插件來提供你想要的服務就 OK 了,這就把本來開發一個系統的工作量縮減為為開發幾個插件工作量。這是一種高級的復用。
(3) 集群更容易實現。我們知道,功能服務器處理所有的功能請求,所以,當在線用戶人數增多時,一個功能服務器忙不過來,這是常見的情況,而應用服務器由于只作簡單的用戶管理和轉發數據,沒有太大的計算工作,所以應用服務器處理起來一般是游刃有余的,瓶頸在功能服務器。在這樣的情況下,我們可以讓一臺應用服務器連上多個功能服務器,然后加上調度功能,即可簡單的實現負載平衡集群,如果把對功能服務器的性能監視做得更深入一些,甚至可以做到故障轉移集群。我們不用再求助 COM+ 等類似的東東了。
(4) 實現功能服務器的“熱插拔”。前面提到了實現功能插件的“熱插拔”是功能服務器的一個基本需求,在運行的過程中可以動態的添加 / 移除功能服務器自然也是我們的基本需求之一了。當我們發現某臺功能服務器需要停機維修時,只要在與之相關的應用服務器上點一下“移除”按鈕就可以了;由于訪問量的增加,當我們購買了一臺新的機器作為功能服務器時,只要在相應的應用服務器上點一下“動態連接到功能服務器”按鈕就可以了。一切都那么靈活,全在運行時完成,服務器不用停止,客戶不用等待。
有人提出,將功能服務器 AS 拆開, AS 之間的通信就需要時間,這樣會降低整體系統的效率。確實是會有點影響,但是考慮到 FS 通常位于同一局域網內,它們之間可以通過 AS 與 AS/FS 這種靈活的模型。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
