上次面試時經常被問到乙個問題,你為什麼要用dubbo?
由於經驗尚淺,實在是沒說得明明白白。
我用了dubbo後,我就可以這樣調介面,巴拉巴拉,說到底還是爭不過面試官問:那照你這麼說,我不用分布式架構也可以完成啊,你只是說了用了分布式架構後業務處理的方法,並沒有弄懂裡面的原因。
結果自然是。。。。。。。給了offer,沒去
簡要的分析一下單體架構的優缺點,再說說用了分布式架構後會遇到的問題吧。
單體架構:
——優點
:1、易於開發:開發的方式簡單,方便執行也容易除錯。
2、易於測試。
3、易於部署。
優點顯而易見~
——缺點
:1、專案過於臃腫,維護成本大,出現bug難定位。
2、資源無法隔離:共享乙個資料庫,或者一塊記憶體。
如果乙個功能模組突然訪問量過大,可能影響整個系統的效能。
3、無法靈活擴充套件:單體系統也可以集群部署,但是不夠靈活,我明明只是訂單系統遇到了瓶頸,
只需要將訂單模組水平擴充套件就行,但現在要將整個系統水平擴充套件。不靈活!
4、交付周期長:所有功能得一起上線,一起構建,一起部署。
任何乙個環節出錯,都可能影響交付。
那分布式的優點自然就和單體架構就對立了~
再談談分布式架構的缺點:
1、效能,分布式系統是跨程序,跨網路的,效能很收網路延遲和頻寬的影響。
2、可靠性:由於高度依賴網路狀況,任何一次遠端呼叫都可以失敗。
隨著服務的增多,還會出現更多的潛在故障點。
3、非同步:引入各種中介軟體,非同步通訊大大增加了功能實現的複雜度。
4、資料一致性:分布式系統必然會有分布式事務的出現,這時對資料的一致性,
需要在c(一致性)a(可用性)p(分割槽容錯性)
中做出選擇。
5、運維成本:乙個系統拆成了多個服務,每個服務都得配置,部署,監控,日誌處理。
得到的同時也意味著失去,權衡與取捨 始終是架構的魅力
為什麼使用分布式系統
為什麼使用分布式系統,總結有以下幾個原因 1.我覺得最主要的是考慮到伺服器效能的問題。單台伺服器的效能畢竟有限,綜合利用多個節點的處理能力,才能提高整體的服務能力 2.分布式模組可以採用不同的解決方案。只要是滿足指定的是互動協議,各模組可以根據各自的業務特點,選擇不同的處理方式,如微軟的解決方案,也...
分布式為什麼使用Redis
在專案中使用 redis,主要考慮兩個角度 效能和併發。如果只是為了分布式鎖這些其他功能,還有其他中介軟體 zookpeer 等代替,並非一定要使用 redis。效能 如下圖所示,我們在碰到需要執行耗時特別久,且結果不頻繁變動的 sql,就特別適合將執行結果放入快取。這樣,後面的請求就去快取中讀取,...
為什麼推行分布式光伏?
近日,國家發展改革委發布 關於2018年光伏發電專案 政策的通知 通知表示,2018年1月1日以後投運的 採用 自發自用 餘量上網 模式的分布式光伏發電專案,全電量度電補貼標準降低0.05元,即補貼標準調整為每千瓦時0.37元 含稅 分布式光伏 一詞在政策檔案及光伏業內頻繁被提及,近日,國家發展改革...