分布式與集群是一回事兒么?別讓這么簡單的問題難住你
集群和分布式,實際上是兩個截然不同的概念。
集群
一個業務,部署在多臺服務器上,這就是集群。這里的一個業務,可以直接看做一個程序包。
舉個例子
公司開發了一個網上商城,類似于T寶,顧客可以在上面瀏覽商品、加入購物車、支付,完成整個的購物流程。
公司買了一臺服務器,把這套程序部署上去,可以滿足一千個人同時在線購物。
當顧客越來越多,服務器負載越來越高,商城的頁面也越來越卡,這時候公司再買幾臺服務器,把商城的程序在每個服務器上都部署一套,由負載均衡將請求轉發到各個服務器上,這就是集群。

分布式
把一個業務,拆分成多個業務,然后部署到不同的服務器上,這就是分布式。
再舉個例子
公司的網上商城,拆分成兩個系統:商品系統和支付系統,用戶在商品系統上完成瀏覽商品、加入購物車的動作,在支付系統上完成支付動作(當然用戶是無法感知到是在兩個系統上完成的操作),這就是分布式。
當然,還能繼續拆,例如拆出來:用戶系統、積分系統、物流系統等等等等。

分布式的好處
領導說,我們再做一個二手交易平臺,類似于X魚,這時候用戶系統、支付系統就可以復用了,做到了服務復用。
分布式 + 集群
分布式和集群通常是是結合在一起使用的;
比如商品系統部署兩臺,支付系統部署兩臺,前面各自掛負載均衡,這樣就算有單個服務器 Down 掉,也不會對整個業務流程造成影響。

還有另外一種方案,可以不依賴于負載均衡,那就是采用 服務注冊/發現 的方式:

總之,集群部署很容易實現,當單機不能滿足業務需要時,可以采用集群部署,至于要不要做分布式,業務拆分到什么粒度,就要結合公司的實際情況來決定了。