分布式是從物理資源的角度去將不同的機器組成乙個整體對外服務,技術範圍非常管且難度非常大,有了這個基礎,高併發、高吞吐等系統很容易構建
在不同的技術層面上,又包括:分布式檔案系統、分布式快取、分布式資料庫、分布式計算等,一些名詞如hadoop、zookeeper、mq等都跟分布式有關。從理念上講,分布式的實現有兩種形式:
水平擴充套件:當一台機器扛不住流量時,就通過新增機器的方式,將流量平分到所有伺服器上,所有機器都可以提供相當的服務;
垂直拆分:前端有多種查詢需求時,一台機器扛不住,可以將不同的需求分發到不同的機器上,比如a機器處理餘票查詢的請求,b機器處理支付的請求
高併發是從業務角度去描述系統的能力,實現高併發的手段可以採用分布式,也可以採用諸如快取、cdn等,當然也包括多執行緒
併發和並行的區別:
並行則是兩個任務同時進行,而併發呢,則是一會做乙個任務一會又切換做另乙個任務
多執行緒則聚焦於如何使用程式語言將cpu排程能力最大化,軟體或者硬體上實現多個執行緒併發執行的技術,它更多的是解決cpu排程多個程序的問題,從而讓這些程序看上去是同時執行
分布式 高併發 多執行緒的理解
當提起到這三個名詞的時候,很多人認為分布式 高併發 多執行緒。當面試官問到高併發系統採取哪些手段來解決,或者被問到分布式系統資料一致性的問題?這三者相伴而生的,但側重點不一樣。分布式更多的是乙個概念,是為了解決單個物理伺服器容量和效能瓶頸問題而採用的優化手段。在不同的層面上,包括了分布式檔案系統 分...
高併發與分布式
一提到高併發很多人就會想到分布式,那麼二者到底有什麼區別呢?併發和分布是完全不同的概念。分布是將任務分發到不同的點上去,一般分布式最多的就是分布式計算。通過某種分布式程式設計方式,在不同的系統上利用各自的cpu,記憶體等進行計算,將結果匯集至控制中心,進行處理。比如最有名的就是分布式計算天氣的氣候阿...
分布式,避免高併發
高併發 high concurrency 是網際網路分布式系統架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統能夠同時並行處理很多請求。吞吐量 單位時間內處理的請求數量。qps 每秒響應請求數。在網際網路領域,這個指標和吞吐量區分的沒有這麼明顯。網際網路分布式架構設計,提高系統併發能力的方...