企業級伺服器設計與實現經驗之系統框架(一)

2021-04-12 20:16:28 字數 939 閱讀 3437

我們將dataserver拆分為功能伺服器和應用伺服器,基於如下幾個方面的考慮:

(1)能更簡單的新增不同型別的應用。在這種拆分的狀態下,如果需要增加乙個新的應用,那麼只需要增加乙個新的應用伺服器即可。比如,現有的應用伺服器是以tcp的方式提供服務,如果我想增加一種以webservice方式來發布我們的服務,那麼我只要增加乙個webservice應用伺服器,而不管是tcp應用伺服器還是webservice應用伺服器,它們的後端都是通過同乙個功能伺服器來提供功能處理的。

(2)功能伺服器框架可復用。由於功能伺服器只處理功能請求,不參與使用者管理等其它具體與應用相關的內容,所以它是乙個單純的伺服器,正是由於這種單純性,使得功能伺服器框架可以高度復用。比如,你想開發一套自己的特殊服務,那麼完全可以將整個功能伺服器搬過來,只要開發你自己的一系列功能外掛程式來提供你想要的服務就ok了,這就把本來開發乙個系統的工作量縮減為為開發幾個外掛程式工作量。這是一種高階的復用。

(4)實現功能伺服器的「熱插拔」。前面提到了實現功能外掛程式的「熱插拔」是功能伺服器的乙個基本需求,在執行的過程中可以動態的新增/移除功能伺服器自然也是我們的基本需求之一了。當我們發現某台功能伺服器需要停機維修時,只要在與之相關的應用伺服器上點一下「移除」按鈕就可以了;由於訪問量的增加,當我們購買了一台新的機器作為功能伺服器時,只要在相應的應用伺服器上點一下「動態連線到功能伺服器」按鈕就可以了。一切都那麼靈活,全在執行時完成,伺服器不用停止,客戶不用等待。

有人提出,將功能伺服器

fs和應用伺服器

as拆開,fs和

as之間的通訊就需要時間,這樣會降低整體系統的效率。確實是會有點影響,但是考慮到as與

fs通常位於同一區域網內,它們之間可以通過

tcp來保證可靠快速的通訊,即使as與

fs位於異地,也可以通過專線來減少通訊對系統整體效能的影響。考慮到上面列出的幾點優勢,我們有足夠的理由來採用

as/fs

這種靈活的模型。

企業級伺服器設計與實現經驗之系統框架(一)

我們將dataserver拆分為功能伺服器和應用伺服器,基於如下幾個方面的考慮 1 能更簡單的新增不同型別的應用。在這種拆分的狀態下,如果需要增加乙個新的應用,那麼只需要增加乙個新的應用伺服器即可。比如,現有的應用伺服器是以tcp的方式提供服務,如果我想增加一種以webservice方式來發布我們的...

企業級伺服器設計與實現經驗之系統框架(一)

我們將 dataserver 拆分為功能伺服器和應用伺服器,基於如下幾個方面的考慮 1 能更簡單的新增不同型別的應用。在這種拆分的狀態下,如果需要增加乙個新的應用,那麼只需要增加乙個新的應用伺服器即可。比如,現有的應用伺服器是以 tcp的方式提供服務,如果我想增加一種以 webservice 方式來...

企業級伺服器設計與實現經驗之系統框架(一)

我們將dataserver拆分為功能伺服器和應用伺服器,基於如下幾個方面的考慮 1 能更簡單的新增不同型別的應用。在這種拆分的狀態下,如果需要增加乙個新的應用,那麼只需要增加乙個新的應用伺服器即可。比如,現有的應用伺服器是以tcp的方式提供服務,如果我想增加一種以webservice方式來發布我們的...