好比web容器,只使用一個主機:web
數據庫集羣:使用多個主機,這些主機上都運行web容器。redis
常見的集羣:數據庫
集羣以後,一大片主機都幹一樣的事兒,具體交給哪臺機器處理呢?這就須要單獨使用一臺機器來完成負載均衡。緩存
請求發送給負載均衡的服務器,由負載均衡服務器決定發給集羣中的哪一個機器來處理。tomcat
傳統的項目是單體應用,若是項目很大,升級維護會很麻煩,修改某一模塊,須要從新部署整個項目。服務器
微服務是把子模塊抽取出來,變成一個個微服務,可單獨修改、部署,在項目主體中調用這些微服務便可。微服務之間經過消息隊列來通訊。session
將一個大的項目、應用劃分爲多個子模塊,單獨部署到多個主機上。併發
好比將web容器單獨安裝到一臺主機上,把redis單獨安裝到一個主機上,把數據庫單獨安裝到一個主機上,協同完成一個項目。負載均衡
分佈式是一個很籠統的概念,集羣、微服務也算是分佈式的。分佈式
有時須要將數據以文件形式儲存到硬盤,好比session鈍化、對象序列化、上傳文件的儲存、大數據儲存等。
咱們專門用一堆主機來儲存文件,並進行儲存儲優化、備份,將這些文件映射到一個虛擬的文件系統中,實現分佈式存儲。