設(shè)置服務(wù)器時(shí)需要考慮許多因素;性能、可靠性、可擴(kuò)展性和控制是最廣為人知的因素。根據(jù)您的操作和您對服務(wù)器的需求,您可以通過多種方式設(shè)置您的服務(wù)器。每種設(shè)置都有自己的優(yōu)點(diǎn)和缺點(diǎn),并且會專門針對特定用戶。因此,根據(jù)您的需要,您可以以不同的方式設(shè)置您的服務(wù)器。鑒于用戶在設(shè)置計(jì)算環(huán)境時(shí)遇到的問題,我們想到寫一篇博客來解釋各種組合。
所以繼續(xù)閱讀……
1.一臺服務(wù)器完成所有任務(wù)
在這種安排中,您將擁有一臺服務(wù)器,它將處理有效運(yùn)行應(yīng)用程序所需的一切。這意味著,您的數(shù)據(jù)庫和應(yīng)用程序?qū)⒐蚕硗慌_機(jī)器的資源。
在哪里使用?
此類服務(wù)器最適合在您的服務(wù)器上快速設(shè)置應(yīng)用程序。也就是說,web服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器在一臺機(jī)器上。這種設(shè)置的唯一缺點(diǎn)是它提供的可擴(kuò)展性很小,而且組件隔離幾乎不存在。
好處 -
它是最簡單的系統(tǒng)之一
缺點(diǎn):應(yīng)用程序和數(shù)據(jù)庫在爭用同一臺服務(wù)器的資源時(shí)會產(chǎn)生沖突。這反過來會產(chǎn)生較差的性能和較高的應(yīng)用程序延遲。該系統(tǒng)不容易擴(kuò)展。
2.獨(dú)立的數(shù)據(jù)庫和應(yīng)用服務(wù)器
數(shù)據(jù)庫和應(yīng)用程序都可以有一個單獨(dú)的服務(wù)器,因此不存在資源沖突,因?yàn)閮烧咴诩夹g(shù)上在不同的機(jī)器上是分開的。單獨(dú)的數(shù)據(jù)庫服務(wù)器的安全性也得到了增強(qiáng),因?yàn)槟梢栽诿總€地方部署多個安全點(diǎn)。
用例:它非常適合在不影響質(zhì)量的情況下快速設(shè)置應(yīng)用程序,因?yàn)閼?yīng)用程序和數(shù)據(jù)庫永遠(yuǎn)不會爭奪同一資源。
優(yōu)點(diǎn):
- 應(yīng)用程序和數(shù)據(jù)庫位于兩個不同的服務(wù)器上,因此不要爭用資源,即它們有單獨(dú)的資源可供使用。
- 您可以單獨(dú)擴(kuò)展每個層。意味著,可以通過添加更多資源來擴(kuò)展數(shù)據(jù)庫服務(wù)器,而無需對應(yīng)用程序服務(wù)器進(jìn)行更改。
- 由于數(shù)據(jù)庫和應(yīng)用程序位于不同的空間,因此安全性要好得多,因?yàn)槿魏魏诳蛧L試都需要兩倍的努力才能闖入系統(tǒng)。
缺點(diǎn):
- 維護(hù)這樣的設(shè)置比維護(hù)單個服務(wù)器要復(fù)雜得多。
- 如果數(shù)據(jù)庫和應(yīng)用程序服務(wù)器之間的網(wǎng)絡(luò)連接遇到高延遲率,就會出現(xiàn)問題。常見的原因包括,數(shù)據(jù)庫和應(yīng)用服務(wù)器之間的距離太大,帶寬低。
3.負(fù)載均衡器(反向代理)
顧名思義,負(fù)載平衡器通過將工作負(fù)載均勻分布在多臺服務(wù)器上來平衡服務(wù)器之間的工作負(fù)載,以提高可靠性。即使連接到負(fù)載均衡器的其中一臺服務(wù)器發(fā)生故障,其他服務(wù)器也可以有效地處理傳入的數(shù)據(jù),直到故障排除或更換默認(rèn)服務(wù)器為止。負(fù)載平衡器以通過同一域和端口處理多個應(yīng)用程序而聞名。
最適用于:
需要通過添加越來越多的服務(wù)器來頻繁擴(kuò)展資源的環(huán)境。對于具有因客戶需求而變化的不同需求的組織來說就是這種情況。如果您擁有這樣的企業(yè)之一,您一定會從負(fù)載均衡器設(shè)置中受益。
優(yōu)點(diǎn):
- 水平縮放是可能的。系統(tǒng)可以添加任意數(shù)量的服務(wù)器。
- DDOS 攻擊不太可能發(fā)生,因?yàn)榭蛻舳诉B接的數(shù)量可以限制在一個合理的數(shù)量。
缺點(diǎn):
- 如果配置不當(dāng),負(fù)載均衡器不會提高性能,但很容易成為瓶頸。
- 此類系統(tǒng)的配置最繁瑣,因?yàn)樗鼈冇行?fù)雜。
- 整個系統(tǒng)依賴于負(fù)載均衡器。這也是單點(diǎn)故障。如果平衡器出現(xiàn)故障,您的服務(wù)器將完全中斷。建議部署多個平衡器以增加冗余。
4.HTTP 加速器(帶緩存的反向代理)
HTTP 加速器也稱為緩存 HTTP 反向代理,旨在通過一系列技術(shù)減少用戶訪問服務(wù)器文件和其他內(nèi)容所花費(fèi)的時(shí)間。使用加速器部署的主要技術(shù)是在內(nèi)存中緩存來自 Web 或應(yīng)用程序服務(wù)器的響應(yīng)。如果您是新手,緩存會在附近的服務(wù)器中創(chuàng)建文件的副本,以便在需要時(shí)可以更快地加載文件。
最好用在——具有大量動態(tài) Web 應(yīng)用程序的環(huán)境,這些應(yīng)用程序有幾個經(jīng)常使用的常用文件,最好緩存起來。
優(yōu)點(diǎn):
- 通過緩存內(nèi)容并壓縮資源來減少 CPU 的負(fù)載量,從而提高站點(diǎn)性能。
- 它也可以用作反向負(fù)載平衡器代理
- 一些緩存 Web 應(yīng)用程序可以幫助保護(hù)您的系統(tǒng)免受可能的DDOS 攻擊。
缺點(diǎn):
- 需要大量微調(diào)以獲得最佳性能
- 緩存率應(yīng)該足以維持服務(wù)器的理想性能水平
- 如果緩存命中率低,則性能可能會降低。
5.主副本數(shù)據(jù)庫復(fù)制
改進(jìn)數(shù)據(jù)庫系統(tǒng)最深刻的方法之一是實(shí)現(xiàn)主副本數(shù)據(jù)庫復(fù)制。復(fù)制要求一個主節(jié)點(diǎn)與一個或多個副本節(jié)點(diǎn)一起使用。
最好用在——
讀/寫性能根據(jù)需要而變化的數(shù)據(jù)庫和 Web 應(yīng)用程序。
用例:
需要提高數(shù)據(jù)庫層讀取性能的地方。
優(yōu)點(diǎn):
通過在服務(wù)器之間傳播副本來顯著提高數(shù)據(jù)庫服務(wù)器的讀取性能??梢酝ㄟ^使用可用的獨(dú)有更新來提高寫入性能。
缺點(diǎn):
訪問數(shù)據(jù)庫的應(yīng)用程序必須有系統(tǒng)來識別哪些數(shù)據(jù)庫節(jié)點(diǎn)應(yīng)該發(fā)送更新和讀/寫請求。如果主系統(tǒng)出現(xiàn)故障,則在更正問題之前無法執(zhí)行更新。主節(jié)點(diǎn)的故障會嚴(yán)重影響所有后續(xù)節(jié)點(diǎn)的故障。
結(jié)論
現(xiàn)在您已經(jīng)了解了很多關(guān)于服務(wù)器設(shè)置的知識,您一定對您將用于自己的應(yīng)用程序的設(shè)置類型有一個相當(dāng)不錯的想法。請記住,您測試的越多,您就越能夠在沒有太多復(fù)雜性的情況下運(yùn)行您的計(jì)算環(huán)境。