日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

需要单机还是集群部署_单机、分布式、集群的区别与联系

發(fā)布時間:2025/3/11 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 需要单机还是集群部署_单机、分布式、集群的区别与联系 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、單機(jī)結(jié)構(gòu)

  一個系統(tǒng)業(yè)務(wù)量很小的時候所有的代碼都放在一個項目中,然后這個項目部署在一臺服務(wù)器上就好了,整個項目所有的服務(wù)都由這臺服務(wù)器提供。這就是單機(jī)結(jié)構(gòu)。單機(jī)結(jié)構(gòu)的缺點是顯而易見的,單機(jī)的處理能力畢竟是有限的,當(dāng)你的業(yè)務(wù)增長到一定程度的時候,單機(jī)的硬件資源將無法滿足你的業(yè)務(wù)需求。此時便出現(xiàn)了集群模式。

二、集群結(jié)構(gòu)

  單機(jī)處理到達(dá)瓶頸的時候,你就把單機(jī)復(fù)制幾份,這樣就構(gòu)成了一個“集群”。集群中每臺服務(wù)器就叫做這個集群的一個“節(jié)點”,所有節(jié)點構(gòu)成了一個集群。每個節(jié)點都提供相同的服務(wù),那么這樣系統(tǒng)的處理能力就相當(dāng)于提升了好幾倍(有幾個節(jié)點就相當(dāng)于提升了這么多倍)。

  但問題是用戶的請求究竟由哪個節(jié)點來處理呢?最好能夠讓此時此刻負(fù)載較小的節(jié)點來處理,這樣使得每個節(jié)點的壓力都比較平均。要實現(xiàn)這個功能,就需要在所有節(jié)點之前增加一個“調(diào)度者”的角色,用戶的所有請求都先交給它,然后它根據(jù)當(dāng)前所有節(jié)點的負(fù)載情況,決定將這個請求交給哪個節(jié)點處理。這個“調(diào)度者”有個牛逼了名字——負(fù)載均衡服務(wù)器。

  集群結(jié)構(gòu)的好處就是系統(tǒng)擴(kuò)展非常容易。如果隨著你們系統(tǒng)業(yè)務(wù)的發(fā)展,當(dāng)前的系統(tǒng)又支撐不住了,那么給這個集群再增加節(jié)點就行了。但是,當(dāng)你的業(yè)務(wù)發(fā)展到一定程度的時候,你會發(fā)現(xiàn)一個問題——無論怎么增加節(jié)點,貌似整個集群性能的提升效果并不明顯了。這時候,你就需要使用微服務(wù)結(jié)構(gòu)了。

三、分布式結(jié)構(gòu)

  從單機(jī)結(jié)構(gòu)到集群結(jié)構(gòu),你的代碼基本無需要作任何修改,你要做的僅僅是多部署幾臺服務(wù)器,每臺服務(wù)器上運行相同的代碼就行了。但是,當(dāng)你要從集群結(jié)構(gòu)演進(jìn)到微服務(wù)結(jié)構(gòu)的時候,之前的那套代碼就需要發(fā)生較大的改動了。所以對于新系統(tǒng)我們建議,系統(tǒng)設(shè)計之初就采用微服務(wù)架構(gòu),這樣后期運維的成本更低。但如果一套老系統(tǒng)需要升級成微服務(wù)結(jié)構(gòu)的話,那就得對代碼大動干戈了。所以,對于老系統(tǒng)而言,究竟是繼續(xù)保持集群模式,還是升級成微服務(wù)架構(gòu),這需要你們的架構(gòu)師深思熟慮、權(quán)衡投入產(chǎn)出比。

  下面開始介紹所謂的分布式結(jié)構(gòu)。

  分布式結(jié)構(gòu)就是將一個完整的系統(tǒng),按照業(yè)務(wù)功能,拆分成一個個獨立的子系統(tǒng),在分布式結(jié)構(gòu)中,每個子系統(tǒng)就被稱為“服務(wù)”。這些子系統(tǒng)能夠獨立運行在web容器中,它們之間通過RPC方式通信。

  舉個例子,假設(shè)需要開發(fā)一個在線商城。按照微服務(wù)的思想,我們需要按照功能模塊拆分成多個獨立的服務(wù),如:用戶服務(wù)、產(chǎn)品服務(wù)、訂單服務(wù)、后臺管理服務(wù)、數(shù)據(jù)分析服務(wù)等等。這一個個服務(wù)都是一個個獨立的項目,可以獨立運行。如果服務(wù)之間有依賴關(guān)系,那么通過RPC方式調(diào)用。

  這樣的好處有很多:

  1、系統(tǒng)之間的耦合度大大降低,可以獨立開發(fā)、獨立部署、獨立測試,系統(tǒng)與系統(tǒng)之間的邊界非常明確,排錯也變得相當(dāng)容易,開發(fā)效率大大提升。

  2、系統(tǒng)之間的耦合度降低,從而系統(tǒng)更易于擴(kuò)展。我們可以針對性地擴(kuò)展某些服務(wù)。假設(shè)這個商城要搞一次大促,下單量可能會大大提升,因此我們可以針對性地提升訂單系統(tǒng)、產(chǎn)品系統(tǒng)的節(jié)點數(shù)量,而對于后臺管理系統(tǒng)、數(shù)據(jù)分析系統(tǒng)而言,節(jié)點數(shù)量維持原有水平即可。

  3、服務(wù)的復(fù)用性更高。比如,當(dāng)我們將用戶系統(tǒng)作為單獨的服務(wù)后,該公司所有的產(chǎn)品都可以使用該系統(tǒng)作為用戶系統(tǒng),無需重復(fù)開發(fā)。

四、三者之間的區(qū)別和聯(lián)系

  以下漫畫圖很形象地說明三者之間的區(qū)別和聯(lián)系:

五、總結(jié)

  集群是個物理形態(tài),分布式是個工作方式。只要是一堆機(jī)器,就可以叫集群,他們是不是一起協(xié)作著干活,這個誰也不知道;一個程序或系統(tǒng),只要運行在不同的機(jī)器上,就可以叫分布式,嗯,C/S架構(gòu)也可以叫分布式。
集群一般是物理集中、統(tǒng)一管理的,而分布式系統(tǒng)則不強(qiáng)調(diào)這一點。所以,集群可能運行著一個或多個分布式系統(tǒng),也可能根本沒有運行分布式系統(tǒng);分布式系統(tǒng)可能運行在一個集群上,也可能運行在不屬于一個集群的多臺(2臺也算多臺)機(jī)器上。

總結(jié)

以上是生活随笔為你收集整理的需要单机还是集群部署_单机、分布式、集群的区别与联系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。