天天看點

簡述 Spring Cloud 是什麼

很多同學都了解了Spring ,了解了 Spring Boot, 但對于 Spring Cloud 是什麼還是比較懵逼的。

本文帶你簡單的了解下,什麼是Spring Cloud。

Spring Cloud 是什麼

從字面了解,Spring Cloud 就是緻力于分布式系統、雲服務的架構。

Spring Cloud 是整個 Spring 家族中新的成員,是最近雲服務火爆的必然産物。

Spring Cloud 為開發人員提供了快速建構分布式系統中一些常見模式的工具,例如:

  • 配置管理
  • 服務注冊與發現
  • 斷路器
  • 智能路由
  • 服務間調用
  • 負載均衡
  • 微代理
  • 控制總線
  • 一次性令牌
  • 全局鎖
  • 上司選舉
  • 分布式會話
  • 叢集狀态
  • 分布式消息
  • ……

使用 Spring Cloud 開發人員可以開箱即用的實作這些模式的服務和應用程式。這些服務可以任何環境下運作,包括分布式環境,也包括開發人員自己的筆記本電腦以及各種托管平台。

Spring Cloud 與 Spring Boot

Spring Cloud 基于 Spring Boot 來進行建構服務。這樣,開發Spring Cloud 元件時,就能依托 Spring Boot 來實作快速開發。

有關 Spring Boot 内容,可見筆者的視訊課程《基于Spring Boot的部落格系統實戰》(https://waylau.com/spring-boot-blog-video-release/)。

Spring Cloud 與微服務

Spring Cloud 是建構分布式系統的利器,而微服務是當下最火熱的分布式系統的類型之一,是以,Spring Cloud 天然是支援微服務的建構的。

在早些年,國内網際網路公司盛行采用 Dubbo 來架構微服務。如今,有了更好的選擇,那就是 Spring Cloud。有資料顯示,Spring Cloud不管是在國内,還是國外,使用者數都呈現出爆發式增長。而且,Dubbo 主要隻是為了解決服務通信、服務注冊等問題,而 Spring Cloud 卻是提供微服務架構的完整的解決方案。

那麼什麼是微服務?

所謂微服務,就是:

微服務架構風格就像是把小的服務開發成單一應用的形式, 運作在其自己的程序中,并采用輕量級的機制進行通信(一般是 HTTP 資源 API)。這些服務都是圍繞業務能力來建構,通過全自動部署工具來實作獨立部署。這些服務,其可以使用不同的程式設計語言和不同的資料存儲技術,并保持最小化集中管理。

更多有關微服務的理論,可見筆者的部落格:https://waylau.com/ahout-microservices/ 。

Spring Cloud 如何實作微服務

說了那麼多理論,那麼微服務架構如何真實的落地呢?課程

《基于Spring Cloud的微服務實戰》(https://waylau.com/spring-cloud-video-release/)給出了真實的答案。

在《基于Spring Cloud的微服務實戰》課程中,作者基于Spring Boot + Spring Cloud 技術棧來實作了一個完整的天氣預報系統。在課程中,先從 Spring Boot 入手,從0到1 快速搭建了具備高并發能力、界面友好的天氣預報系統。而後剖析單塊架構的利弊,進而引入微服務架構的概念,并實從1到0實作微服務的拆分。最後引入Spring Cloud 技術來實作對這些微服務的治理,重點講解了服務注冊與發現、服務互動、服務消費、負載均衡、API網關、配置中心、服務熔斷、自動擴充等方面的話題。

簡述 Spring Cloud 是什麼

通過學習該課程,學員不但可以學會 Spring Boot 及 Spring Cloud 最新的周邊技術棧(本課程基于最新的 Spring Boot 2.0.0.M4 以及 Spring Cloud Finchley.M2),掌握如何運用上述技術進行整合,搭建架構的能力,熟悉單體架構及微服務架構的特點,并最終實作掌握建構微服務架構的實戰能力。

搭建 Spring Cloud 微服務系統需要哪些技術

本課程所涉及的相關的技術有 :

  • XML解析:JABX
  • JSON序列化:Jackson
  • 緩存:Redis
  • 定時器:Quartz Scheduler
  • Java模版技術Thymeleaf
  • 前端樣式:Bootstrap
  • API網關:Zuul
  • 服務注冊與發現:Eureka Server、Eureka Client
  • 服務互動:RestTemplate、Apache HttpClient
  • 服務消費:Ribbon、OpenFeign
  • 負載均衡:Ribbon
  • 配置中心:Config Server、Config Client
  • 服務熔斷:Hystrix
  • 項目建構:Gradle

通過本課程的學習,能夠掌握架構微服務系統的能力!

參考資料

要學習 Spring Cloud 微服務,除了上面的課程之前,老衛還撰寫了多門微服務相關的開源書籍,注意,都是免費的書籍哦!!!

  • 簡述 Microservices(微服務):https://waylau.com/ahout-microservices/
  • Spring Boot 教程:https://github.com/waylau/spring-boot-tutorial
  • Spring Cloud 教程:https://github.com/waylau/spring-cloud-tutorial
  • Gradle 3 使用者指南:https://github.com/waylau/gradle-3-user-guide
  • Spring Security 教程:https://github.com/waylau/spring-security-tutorial
  • Thymeleaf 教程:https://github.com/waylau/thymeleaf-tutorial

小夥伴們,快點學習起來!!!

繼續閱讀