高強度學習訓練第三天總結: 分佈式架構思路整理

#1.項目架構 ##1.1單一架構 描述:一個項目只有一個工程 其餘名稱:all in one 或 "單擊版" ##1.2分佈式架構 ###1.2.1僞分佈式 開發時使用了多個工程,但在服務器上運行時只有一個War包。 特性:垂直拆分 ###1.2.2真正的分佈式 經過網絡來進行方法的遠程調用 #2.方法本地調用和遠程調用 ##2.1 本地調用 調用當前項目的內部方法,調用過程沒有通過網絡。 ##2.2遠程調用 一個工程內的一個方法經過網絡去調用另外一個工程的一個方法 ##2.3實現方法遠程調用的技術 ###2.3.1 webservice webService 不是一個具體的技術,而是一系列方法遠程調用技術的統稱。並且很古老 ###2.3.2 Dubbo+Zookeeper Dubbo 是阿里開發的一款RPC框架---底層基於RPC(遠程過程調用)來遠程調用和服務治理框架。 Zookeeper 是 Apache Hadoop 是一個樹形的目錄服務,支持變動推送,適合做爲Dubbo服務的註冊中心,工業強度較高,可用生產環境,並推薦使用。web

在分佈式架構體系中Dubbo扮演了服務治理框架的角色,Zookeeper扮演了服務註冊中心的角色。 ###2.3.4 SpringBoot + SpringCloud Spring boot 是 Spring 的一套快速配置腳手架,能夠基於spring boot 快速開發單個微服務,Spring Boot,看名字就知道是Spring的引導,就是用於啓動Spring的,使得Spring的學習和使用變得快速無痛。不只適合替換原有的工程結構,更適合微服務開發。 Spring Cloud基於Spring Boot,爲微服務體系開發中的架構問題,提供了一整套的解決方案——服務註冊與發現,服務消費,服務保護與熔斷,網關,分佈式調用追蹤,分佈式配置管理等。 ##2.4方法遠程調用的意義 ###2.4.1 對項目內部來講 讓咱們實現分佈式架構。 ###2.4.2 對項目外部來講 讓咱們能調用外部的第三方接口。例如微信支付,物流信息,天氣預報。 #3.分佈式架構的優缺點 ##3.1模塊化程度更高 功能更加單一,有利於開發維護,讓項目更容易開發,維護,分工。也是高內聚低耦合的一種體現。 ##3.2提高性能 須要用到分佈式架構的項目每每是訪問量很大的互聯網項目。 集羣(同構): 多個服務器運行相同的模塊 分佈式(異構):多個服務器運行不一樣的模塊 ##3.3缺點 相對於單一架構結構更復雜,部署更復雜,同時存在數據不一致的問題,須要經過分佈式事務解決。 #4.服務 ##4.1 接口 對外暴露具體功能的接口,已經包括了外部調用時所須要的所有信息,因此這個接口就作成了整個功能的表明。 因此在團隊交流時,就使用接口指代整個工程。 「寫接口」: 開發接口表明的工程。 「調接口」:指的是要調用接口的工程 ##4.2 服務 和操做系統提供的「守護進程」形式服務很像,它持續在運行,實時能夠相應請求。 提供服務。 服務提供者:provider 服務消費者:consumer ##4.3 SOA 原形:Service Oriented Architecture 面向服務架構。 設計項目架構時,底層基於「服務」之間的調用設計項目架構。把相同功能封裝到一個或一組服務中。 ##4.4 微服務 在服務的基礎上,微小化服務。複用程度更高。 #5.中間件 ##5.1 傳統開發的組件 瀏覽器調用->Controller->service->mapper->database ##5.2 中間件 redis 緩存 ElasticSearch 搜索 ActiveMQ 異步通訊 FastDFS 分佈式文件存儲服務器 #6.由淺入深瞭解/介紹分佈式系統 ##6.1 分佈式架構實現技術redis

  • Dubbo+Zookeeper
  • SpringBoot+SpringCloud ##6.2 工程
  • 工程清單
  • 工程關係
    • 繼承
    • 聚合
    • 依賴
  • 工程的做用 ##6.3 中間件
  • 用到了哪些中間件
  • 具體中間件和哪些功能相關 ##6.4 一個請求處理的流程 瀏覽器->consumer->provider->中間件/provider->返回值 ##6.5 業務功能 子系統->模塊->子模塊->類->。。。
相關文章
相關標籤/搜索