1.分佈式
將一個大的系統劃分爲多個業務模塊,業務模塊分別部署到不同的機器上,各個業務模塊之間通過接口進行數據交互。區別分佈式的方式是根據不同機器不同業務。
上面:service A、B、C、D 分別是業務組件,通過API Geteway進行業務訪問。
注:分佈式需要做好事務管理。
分佈式事務可參考:微服務架構的分佈式事務解決方案
集羣模式是不同服務器部署同一套服務對外訪問,實現服務的負載均衡。區別集羣的方式是根據部署多臺服務器業務是否相同。
注:集羣模式需要做好session共享,確保在不同服務器切換的過程中不會因爲沒有獲取到session而中止退出服務。
一般配置Nginx*的負載容器實現:靜態資源緩存、Session共享可以附帶實現,Nginx支持5000個併發量。
3.分佈式是否屬於微服務?
答案是肯定的。微服務的意思也就是將模塊拆分成一個獨立的服務單元通過接口來實現數據的交互。
4.微服務架構
微服務的設計是爲了不因爲某個模塊的升級和BUG影響現有的系統業務。微服務與分佈式的細微差別是,微服務的應用不一定是分散在多個服務器上,他也可以是同一個服務器。
分佈式和微服的架構很相似,只是部署的方式不一樣而已。