SpringCloud(一):SpringCould 框架預覽


前言


 

 SpringCloud是基於SpringBoot的一整套實現微服務的框架。他提供了微服務開發所需的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管理等組件。最重要的是跟spring boot框架一起使用的話,會讓你開發微服務架構的雲服務非常好的方便。

  SpringBoot旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web服務器,含有諸多開箱即用微服務功能。

基於SpringCloud的微服務框架:


 Spring cloud子項目包括:

  1. Spring Cloud Config:配置管理開發工具包,可以讓你把配置放到遠程服務器,目前支持本地存儲、Git以及Subversion。
  2. Spring Cloud Bus:事件、消息總線,用於在集群(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署。
  3.   Spring Cloud Netflix:針對多種Netflix組件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
  4.   Netflix Eureka:雲端負載均衡,一個基於 REST 的服務,用於定位服務,以實現雲端的負載均衡和中間層服務器的故障      轉移。
  5.   Netflix Hystrix:容錯管理工具,旨在通過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
  6.   Netflix Zuul:邊緣服務工具,是提供動態路由,監控,彈性,安全等的邊緣服務。
  7.   Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態類型化屬性、線程安全配置操作、輪詢框架、回調      機制等功能。
  8.   Spring Cloud for Cloud Foundry:通過Oauth2協議綁定服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS     雲平台。
  9.   Spring Cloud Sleuth:日志收集工具包,封裝了Dapper,Zipkin和HTrace操作。
  10.   Spring Cloud Data Flow:大數據操作工具,通過命令行方式操作數據流。
  11.   Spring Cloud Security:安全工具包,為你的應用程序添加安全控制,主要是指OAuth2。
  12.   Spring Cloud Consul:封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫集成。
  13.   Spring Cloud Zookeeper:操作Zookeeper的工具包,用於使用zookeeper方式的服務注冊和發現。

 

SpringCloud優勢

 

微服務的框架那么多比如:dubbo、Kubernetes,為什么就要使用Spring Cloud的呢?

  • 產出於spring大家族,spring在企業級開發框架中無人能敵,來頭很大,可以保證后續的更新、完善。比如dubbo現在就差不多死了(后面又卷土重來重新開始更新了)
  • 有spring Boot 這個獨立干將可以省很多事,大大小小的活spring boot都搞的挺不錯。(框架搭建快捷,幾分鍾就能跑起一個子項目,便於快捷開發。)
  • 作為一個微服務治理的大家伙,考慮的很全面,幾乎服務治理的方方面面都考慮到了,方便開發開箱即用。(一站式構建微服務,對於中小型公司有利,不需要花費大量人力機器實現負載均衡,熔斷等措施)
  • Spring Cloud 活躍度很高,教程很豐富,遇到問題很容易找到解決方案(源於Spring家族,用戶基數大,技術分享帖也多)
  • 輕輕松松幾行代碼就完成了熔斷、均衡負責、服務中心的各種平台功能(功能齊全)

Spring Cloud 也有一個缺點,只能使用Java開發,不適合小型獨立的項目。

通俗來說,SpringCloud就像是一體機,拿回來就可以用,不需要開發人員去深入了解各個功能(服務注冊(Eureka),API gateway(Zuul),熔斷器(Hystrix)等等),但是缺點就是如果某些功能想用其他框架代替,開發者可能要去研究一下其他框架與Spring Could 的整合(DIY 組裝電腦),需要了解其運行原理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM