SOA、微服務、分佈式的概念

---恢復內容開始---編程

1.分佈式:是指將一個項目拆分紅多個子項目,採用rpc遠程調用技術進行調用。json

2.集羣:將一個項目相同的功能部署在不一樣的服務器上,用以解決高併發問題的架構叫作集羣。服務器

3rpc:遠程過程調用。網絡

遠程過程調用協議,它是一種經過網絡從遠程計算機程序上請求服務,而不須要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,爲通訊程序之間攜帶信息數據。在OSI網絡通訊模型中,RPC跨越了傳輸層和應用層RPC使得開發包括網絡分佈式多程序在內的應用程序更加容易架構

RPC主流框架

  1. Thrift:thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發。它結合了功能強大的軟件堆棧和代碼生成引擎,以構建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 這些編程語言間無縫結合的、高效的服務。
  1. Dubbo:Dubbo是一個分佈式服務框架,以及SOA治理方案。其功能主要包括:高性能NIO通信及多協議集成,服務動態尋址與路由,軟負載均衡與容錯,依賴分析與降級等。 Dubbo是阿里巴巴內部的SOA服務化治理方案的核心框架,Dubbo自2011年開源後,已被許多非阿里系公司使用。
  1. Spring Cloud:Spring Cloud由衆多子項目組成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分佈式系統及微服務經常使用的工具,如配置管理、服務發現、斷路器、智能路由、微代理、控制總線、一次性token、全局鎖、選主、分佈式會話和集羣狀態等,知足了構建微服務所需的全部解決方案。Spring Cloud基於Spring Boot, 使得開發部署極其簡單。
  1. 關於Netty而Netty框架不侷限於RPC,更多的是做爲一種網絡協議的實現框架,好比HTTP,因爲RPC須要高效的網絡通訊,就可能選擇以Netty做爲基礎。除了網絡通訊,RPC還須要有比較高效的序列化框架,以及一種尋址方式。若是是帶會話(狀態)的RPC調用,還須要有會話和狀態保持的功能。大致上來講,Netty就是提供一種事件驅動的,責任鏈式(也能夠說是流水線)的網絡協議實現方式。網絡協議包含不少層次,不少部分組成,如傳輸層協議,編碼解碼,壓縮解壓,身份認證,加密解密,請求的處理邏輯,怎麼可以更好的複用,擴展,業界通用的方法就是責任鏈,一個請求應答網絡交互一般包含兩條鏈,一條鏈(Upstream)是從傳輸層,通過一系列步驟,如身份認證,解密,日誌,流控,最後到達業務層,一條鏈(DownStream)是業務層返回後,又通過一系列步驟,如加密等,又回到傳輸層。

  4.面向服務架構:SOA 「面向服務的架構」:他是一種設計方法,其中包含多個服務, 服務之間經過相互依賴最終提供一系列的功能。一個服務 一般以獨立的形式存在與操做系統進程中。各個服務之間 經過網絡調用。併發

5.微服務:將一個項目拆分紅N個子服務,而且子服務之間是相互獨立的,利用Rpc技術調用,實現數據之間以Http+json的格式進行傳輸調用的。負載均衡

 

---恢復內容結束---框架

相關文章
相關標籤/搜索