【微服務架構】SpringCloud組件和概念介紹

【微服務架構】SpringCloud組件和概念介紹(一)
一:什麼是微服務(Microservice)
 微服務英文名稱Microservice,Microservice架構模式就是將整個Web應用組織爲一系列小的Web服務。這些小的Web服務能夠獨立地編譯及部署,並經過各自暴露的API接口相互通信。它們彼此相互協做,做爲一個總體爲用戶提供功能,卻能夠獨立地進行擴。
  微服務架構須要的功能或使用場景
        1:咱們把整個系統根據業務拆分紅幾個子系統。
 2:每一個子系統能夠部署多個應用,多個應用之間使用負載均衡。
 3:須要一個服務註冊中心,全部的服務都在註冊中心註冊,負載均衡也是經過在註冊中心註冊的服務來使用必定策略來實現。
 4:全部的客戶端都經過同一個網關地址訪問後臺的服務,經過路由配置,網關來判斷一個URL請求由哪一個服務處理。請求轉發到服務上的時候也使用負載均衡。
 5:服務之間有時候也須要相互訪問。例若有一個用戶模塊,其餘服務在處理一些業務的時候,要獲取用戶服務的用戶數據。
 6:須要一個斷路器,及時處理服務調用時的超時和錯誤,防止因爲其中一個服務的問題而致使總體系統的癱瘓。
 7:還須要一個監控功能,監控每一個服務調用花費的時間等。
  目前主流的微服務框架:Dubbo、 SpringCloud、thrift、Hessian等,目前國內的中小企業用的大多數都是Dubbo,SpringCloud估計不多,也許有些開發同窗都沒據說過。
二:SpringCloud項目簡介
   springCloud是基於SpringBoot的一整套實現微服務的框架。他提供了微服務開發所需的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分佈式會話和集羣狀態管理等組件。最重要的是,
  跟spring boot框架一塊兒使用的話,會讓你開發微服務架構的雲服務很是好的方便。
  SpringBoot旨在簡化建立產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web服務器,含有諸多開箱即用微服務功能
  相關組件架構圖
  spring cloud子項目包括:
  Spring Cloud Config:配置管理開發工具包,可讓你把配置放到遠程服務器,目前支持本地存儲、Git以及Subversion。
  Spring Cloud Bus:事件、消息總線,用於在集羣(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署。
  Spring Cloud Netflix:針對多種Netflix組件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
  Netflix Eureka:雲端負載均衡,一個基於 REST 的服務,用於定位服務,以實現雲端的負載均衡和中間層服務器的故障轉移。
  Netflix Hystrix:容錯管理工具,旨在經過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
  Netflix Zuul:邊緣服務工具,是提供動態路由,監控,彈性,安全等的邊緣服務。
  Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態類型化屬性、線程安全配置操做、輪詢框架、回調機制等功能。
  Spring Cloud for Cloud Foundry:經過Oauth2協議綁定服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS雲平臺。
  Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper,Zipkin和HTrace操做。
  Spring Cloud Data Flow:大數據操做工具,經過命令行方式操做數據流。
  Spring Cloud Security:安全工具包,爲你的應用程序添加安全控制,主要是指OAuth2。
  Spring Cloud Consul:封裝了Consul操做,consul是一個服務發現與配置工具,與Docker容器能夠無縫集成。
  Spring Cloud Zookeeper:操做Zookeeper的工具包,用於使用zookeeper方式的服務註冊和發現。
  Spring Cloud Stream:數據流操做開發包,封裝了與Redis,Rabbit、Kafka等發送接收消息。
  Spring Cloud CLI:基於 Spring Boot CLI,可讓你以命令行方式快速創建雲組件。
  SpringCloud特色
       1:約定優於配置
2:開箱即用、快速啓動
3:適用於各類環境
4:輕量級的組件
5:組件支持豐富,功能齊全
三: SpringBoot瞭解
    Spring Boot讓咱們的Spring應用變的更輕量化。好比:你能夠僅僅依靠一個Java類來運行一個Spring引用。你也能夠打包你的應用爲jar並經過使用java -jar來運行你的Spring Web應用。
因爲SpringCloud依賴SpringBoot,因此在學習SpringCloud框架以前須要瞭解下SpringBoot。
SpringBoot的主要優勢:
  1:爲全部Spring開發者更快的入門
  2:開箱即用,提供各類默認配置來簡化項目配置
  3:內嵌式容器簡化Web項目
  4:沒有冗餘代碼生成和XML配置的要求
經過一個helloWorld瞭解下 地址:http://start.spring.io/
       本文主要介紹了相關概念的東西實際操做和應用在後面的文中慢慢介紹
相關資料:中文網:https://springcloud.cc/
                  英文官網:https://spring.io/projects
相關文章
相關標籤/搜索