謝邀~
集群和分布式,兩者的區別還是挺大的,我就按照自己的理解,向大家解釋一下,如果有不對的地方,歡迎大家留言討論。(回答過類似的問題,不過每次回答的時候,都有新的收獲和感悟可以分享)
集群
一個業務,部署在多臺服務器上,這就是集群。這里的一個業務,可以直接看做一個程序包。
提到集群,就不得不說一下負載均衡,這兩個概念一起舉個例子:
公司開發了一個網上商城,類似于T寶,顧客可以在上面瀏覽商品、加入購物車、支付,完成整個的購物流程。
公司買了一臺服務器,把這套程序部署上去,可以滿足一千個人同時在線購物。
當顧客越來越多,服務器負載越來越高,商城的頁面也越來越卡,這時候公司再買幾臺服務器,把商城的程序在每個服務器上都部署一套,由負載均衡講請求轉發到各個服務器上,這就是集群。
分布式
把一個業務,拆分成多個業務,然后部署到不同的服務器上,這就是分布式。
還是舉例子說明:
公司的網上商城,拆分成兩個系統:商品系統和支付系統,用戶在商品系統上完成瀏覽商品、加入購物車的動作,在支付系統上完成支付動作(當然用戶是無法感知到是在兩個系統上完成的操作),這就是分布式。
當然,還能繼續拆,例如拆出來:用戶系統、積分系統等等等等。
那么分布式的好處是什么?公司說,我們再做一個二手交易平臺,類似于X魚,這時候用戶系統、支付系統就可以復用了,做到了
服務復用。
分布式+集群
兩者同城是結合一起使用的,比如商品系統部署五臺,支付系統部署五臺,前面各自掛負載均衡,這樣就算有單個服務器Down掉,也不會對整個業務流程造成影響。