分散式、微服務與叢集的區別
阿新 • • 發佈:2018-11-12
一、分散式
不同模組部署在不同伺服器上。
作用:分散式解決網站高併發帶來問題。
將一個大的系統劃分為多個業務模組,業務模組分別部署到不同的機器上,各個業務模組之間通過介面進行資料互動。區別分散式的方式是根據不同機器不同業務。
上面:service A、B、C、D 分別是業務元件,通過API Geteway進行業務訪問。
注意:分散式需要做好事務管理。
二、微服務
架構設計概念,各服務間隔離(分散式也是隔離),自治(分散式依賴整體組合)其它特性(單一職責,邊界,非同步通訊,獨立部署)是分散式概念的跟嚴格執行SOA到微服務架構的演進過程 。
作用:各服務可獨立應用,組合服務也可系統應用。
微服務的設計是為了不因為某個模組的升級和BUG影響現有的系統業務。微服務與分散式的細微差別是,微服務的應用不一定是分散在多個伺服器上,它也可以是同一個伺服器。
三、叢集
多臺伺服器部署相同應用構成一個叢集。
作用:通過負載均衡裝置共同對外提供服務。
叢集模式是不同伺服器部署同一套服務對外訪問,實現服務的負載均衡。區別叢集的方式是根據部署多臺伺服器業務是否相同。
注意:叢集模式需要做好session共享,確保在不同伺服器切換的過程中不會因為沒有獲取到session而中止退出服務。
一般配置Nginx的負載容器實現:靜態資源快取、Session共享可以附帶實現,Nginx支援5000個併發量。