微服務、云原生、Kubernetes、Service Mesh是分布式領域的熱點技術,它們并不是憑空出現的,一定繼承了某些“前輩”的優點,我們不僅要了解這些技術,還要深入理解其發展脈絡、原理等,才能游刃有余地將其用于現有的專案開發或老系統改造中,
而這些技術有一個共同的特點,就是全網都在大談分布式,其實主要就是因為資料量的爆發增長,我們的網站等應用承擔了他本不應該承受的壓力,這個時候,中國古人的訓誡就起了很大的作用:眾人拾柴火焰高,團結就是力量,所以,將壓力分散到多個不同的點上就可以解決這個問題,分布式由此產生
我們現在看一下分布式系統到底是怎么回事?
分布式系統
分布式系統是其組件分布在連網的計算機上,組件之間通過傳遞訊息進行通信和動作協調的系統,該定義引出了分布式系統的下列重要特征:組件的并發性、缺乏全域時鐘、組件故障的獨立性,
我們看一下現代分布式系統的幾個例子,包括Web搜索、多人在線游戲和金融交易系統,也考察今天推動分布式系統發展的關鍵趨勢:現代網路的泛在特性,移動和無處不在計算的出現,分布式多媒體系統不斷增加的重要性,以及把分布式系統看成一-種實用系統的趨勢,接著本章強調資源共享是構造分布式系統的主要動機,資源可以被服務器管理,由客戶訪問,或者它們被封裝成物件,由其他客戶物件訪問,
構造分布式系統的挑戰是處理其組件的異構性、開放性(允許增加或替換組件)、安全性、可伸縮性(用戶的負載或數量增加時能正常運行的能力)、故障處理、組件的并發性、透明性和提供服務質量的問題,最后,以Web作為一個大規模分布式系統的例子進行了討論,并介紹了它的主要特征,





需要這份檔案的,關注+轉發后,私信“資料”即可查看獲取方式
微服務、云原生、Kubernetes、Service Mesh
基于上面分布式系統的設計原則,在現實開發環境中,產生了以下的這些技術,包括微服務、云原生、Kubernetes、Service Mesh等,我們接著看

直接進入正題
RPC
每個分布式系統都離不開多行程的通信問題,包括本機上多行程之間的IPC通信和基于網路的遠程通信技術,后者是分布式系統架構中的核心和關鍵基礎技術之一,就遠程通信而言,拋開各種專用系統的遠程通信協議如NFS、FTP、SNMP、SMTP、POP3不說,各種通用的遠程通信技術也在不斷發展和變化,比如從最古老的RPC遠程通信技術到曾經風靡一時的SOAP(Web Service)協議,再到后面紅極一時的HTTP REST,如今,由于移動互聯網和大資料時代的興起,支持多語言與高性能傳輸的各種RPC架構再次成為熱點技術,

記憶體
除了CPU,記憶體大概是最重要的計算資源了,基本成為分布式系統標配的快取中間件、高性能的資料處理系統及當前流行的大資料平臺,都離不開對計算機記憶體的深入理解與巧妙使用,在本章中我們將探索這個讓人感到既熟悉又復雜的領域,

分布式存盤
分布式檔案系統是大型分布式系統中非常重要的基礎設施.Hadoop中最重要的技術不是MapReduce,而是 HDFS,除了HDFS,Spark還可以與老牌分布式檔案系統GlusterFS結合使用,OpenStack中最重要且能獨立運營的子系統是分布式物件存盤系統Swift,Docker及 Kubernetes容器技術依然需要通過分布式檔案系統實作批量處理任務中的共享存盤問題,更不用說,無數電商系統都需要一個分布式檔案系統來存盤海量照片,因此,掌握分布式存盤相關的知識和技能,對于一名分布式系統架構師來說非常重要,

分布式計算
不管是網路、記憶體還是存盤的分布式,它們的最終目標都是實作計算的分布式:資料在各個計算機節點上流動,同時各個計算機節點都能以某種方式訪問共享資料,最終分布式計算后的輸出結果被持久化存盤和輸出,分布式計算作為分布式系統里最重要的一個能力和目標,也是大資料系統的關鍵技術之一,經過多年的發展與演進,目前業界已經存在很多成熟的分布式計算開源編程框架和平臺,作為架構師,我們應該盡可能地了解和掌握這些框架和平臺,

訊息中間件
在前面的章節中,我們學習了構建一個分布式系統所必需的各種基本知識和技能,比如分布式系統的基礎理論、網路編程技術、RPC架構、記憶體計算、分布式檔案系統、分布式計算框架等,但僅僅掌握這些內容還是遠遠不夠的,我們還需要學習和掌握分布式系統中常用的一些中間件,這些中間件主要用于分布式系統中常見的一些業務場景:資料全文檢索、日志和訊息處理、資料庫的分片、網站的負載均衡等,由于篇幅有限,本章只對全文檢索與訊息佇列這兩個用途廣泛又相對復雜的中間件進行全面介紹,

微服務架構
微服務架構是當前很熱門的一個概念,是技術發展的必然結果,微服務架構也不是一個縹緲、空洞的術語,它的核心理念與架構原則是實實在在的,雖然微服務架構沒有公認的技術標準和規范草案,但業界已經有一些很有影響力的開源微服務架構平臺,架構師可以根據公司的技術實力并結合專案的特點來選擇某個合適的微服務架構平臺,穩妥地實施專案的微服務化改造或開發行程,

好了,關于分布式,我就介紹到這里把,從原理到實踐都有了,有需要這兩份檔案的朋友,點贊后,關注公眾號:Java架構師聯盟,即可查看獲取方式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142255.html
標籤:其他
