如果你期待對分布式系統有一個更全面的認識,想要了解各個技術在分布式系統中如何應用、分別解決哪些問題、有怎樣優秀的實作,推薦閱讀、收藏本篇,
前言
分布式系統涉及到的理論知識及技術點比較多,以致于很多童鞋都說,分布式系統的學習是入門容易、深入難,通過網路搜索到的知識點較為零散,難以系統化學習、融會貫通,本篇Mike將從以下幾個方面分享,帶著大家先窺探分布式的全貌,希望為大家厘清分布式學習之路的方向與具體路徑,
以上專題資料及學習圖譜,獲取方式:添加下方小助手VX即可

本篇主題
-
分布式系統的概念
-
分布式系統的作用
-
分布式系統的特性
-
分布式系統主流技術
-
分布式系統專題合集及知識圖譜
分布式系統的概念
分布式系統是由一組通過網路進行通信、為了完成共同的任務而協調作業的計算機節點組成的系統,有一種說法:分布式系統是若干獨立計算機的組合共同對用戶提供服務,但對于用戶來說,這些計算機就像是單個相關系統,

布式系統的作用
分布式系統的出現是為了用廉價的、普通的機器完成單個計算機無法完成的計算、存盤任務,其目的是利用更多的機器,處理更多的資料,
分布式系統的特性

布式系統特性主要有透明性、可擴展性、可用性、可靠性、高性能、一致性等,這幾個特性是分布式系統的主要衡量指標,開始分布式系統的學習,從了解分布式系統的特性開始,
1、透明性
分布式的特征之一是向用戶隱藏系統的內部組織結構,各種計算機之間的差別、通信方式的差別都被隱藏了,使用分布式系統的用戶不關心系統如何實作,以及看到的資料來自哪里,用戶在任何時候都能以同一種方式與分布式系統進行互動,
2
可擴展性
可擴展性是指當增加或減少任務時,分布式系統的處理能力要能夠很方便地隨之增加或減少,即:能夠高效便捷地通過增加或減少機器的數量,來應對資料量的增長或減少,
3、可用性
可用性分布式系統的基本問題,可用性是指系統在各種情況下都能穩定地對外提供服務的能力,即高度可用的系統在任何時候都能正常地作業,
4、可靠性
可靠性是指系統可以無故障地持續運行,計算結果正確、存盤的資料不丟失,與可用性的差別在于,可靠性是依據時間間隔來定義,而不是任何時刻來進行定義的,
5、高性能
高性能是應用系統所需要具備的基本條件,不管是單機還是分布式系統,大家都非常關注性能,高性能是指應用系統對于客戶端請求的處理速度快,回應時間短,對于用戶來說就是該應用的操作流暢,擁有良好的用戶體驗,不同系統、不同業務型別對性能的衡量指標是不同的,譬如:淘寶交易系統可以是秒級別的回應,而網路游戲則要保證在毫秒級別的回應,
6、一致性
通常情況下,我們所說的分布式一致性問題是指資料一致性問題,分布式架構的核心在于一致性的實作和妥協,一致性越強,對用戶越友好,但會制約系統的可用性;一致性越低,用戶端可能需要兼容資料不一致的情況,但系統可用性會高出很多,具體實施時要考慮實際業務場景的需要去做取舍,不同場景下選擇合適的設計模式,
以上就是分布式系統的幾個主要特征(基礎理論知識點),接下來我們來了解下分布式系統在實作程序中可能用到的主流技術,
分布式系統主流技術
關于分布式系統的實作,主要會使用到哪些技術呢?下面簡單羅列了一些供大家參考,
? 負載均衡:Nginx、LVS等
? webserver:Tomcat、Apache、Jboss等
? service:SOA、微服務、Spring boot,SpringCloud等
? 容器:Docker,kubernetes等
? cache:Memcache、Redis等
? 協調中心:Zookeeper、Etcd等
? RPC框架:Grpc、Dubbo、Brpc等
? 訊息佇列:Kafka、RabbitMQ、RocketMQ、QSP等
? 實時資料平臺:Storm、Akka等
? 離線資料平臺:Hadoop、Spark等
? dbproxy:Cobar等
? db:Oracle、Mysql、MongoDB、HBase等
? 搜索:Elasticsearch、Solr等
? 日志:Rsyslog、Elk、Flume等
分布式系統專題合集及知識圖譜
Mike曾經輸出過一系列分布式系統相關的技術干貨,主要包括:Kafka、Docker、Dubbo、Redis、負載均衡等專題,涉及到多種技術、理論知識以及協議,如果你期待對分布式系統有一個更全面的認識,想要了解各個技術在分布式系統中如何應用、分別解決哪些問題、有怎樣優秀的實作,最終將分布式系統中的相關技術與理論串聯起來,不妨了解下Mike免費分享的幾十期分布式系統專題合集及知識圖譜(長期持續更新),



以上專題資料及學習圖譜,獲取方式:
關注后,添加下方圖中VX即可

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168657.html
標籤:其他
