SpringCloud:分布式微服務架構

2020-12-11 HelloWorld小碼農

概念

微服務是一種架構風格,它是一種將一個單一應用程式開發為一組小型服務的方法,每個服務運行在自己的進程中,服務間通信採用輕量級通信機制(通常採用http)。這些服務圍繞業務能力構建並且可通過全自動部署機制獨立部署,這些服務共用一個最小型的集中式的管理,服務可用不同的語言開發,使用不同的數據存儲技術。

特徵

每個微服務可獨立運行在自己的進程中。一系列獨立運行的微服務共同構建起整個系統。每個服務為獨立的業務開發,一個微服務只關注某個特定的功能。微服務之間通過一些輕量的通信機制進行通信,例如使用http協議,通過restful api進行調用。可以使用不同的語言與數據存儲技術全自動的部署機制。SpringCloud 簡介

當我們的系統是分布式架構的時候,由於一個大的業務被拆分成各個不同的子業務,此時就會出現各種各樣的問題(之前文章有過介紹),而SpringCloud提供了一整套的解決方案!

Spring Cloud 是一套完整的分布式微服務解決方案,基於 Spring Boot 框架,準確的說,Spring Cloud它不是一個框架,而是一個大的容器。

Spring Cloud是一系列框架的有序集合,共有20多項技術。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控、服務降級等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud並沒有重複製造輪子,它只是將各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。

換句話說:Spring Cloud 提供了構建分布式系統所需的「全家桶」

SpringCloud的基礎功能

服務治理: Spring Cloud Eureka客戶端負載均衡: Spring Cloud Ribbon服務容錯保護: Spring Cloud Hystrix聲明式服務調用: Spring Cloud FeignAPI網關服務:Spring Cloud Zuul分布式配置中心: Spring Cloud Config消息總線: Spring Cloud Bus消息驅動的微服務: Spring Cloud Stream分布式服務跟蹤: Spring Cloud SleuthSpringCloud版本命名

SpringCloud採用了英國倫敦地鐵站的名稱來命名,並由地鐵站名稱字母A-Z依次類推的形式來發布迭代版本。

SpringCloud是一個由許多子項目組成的綜合項目,各子項目有不同的發布節奏。為了管理SpringCloud與各子項目的版本依賴關係,發布了一個清單,其中包括了某個SpringCloud版本對應的子項目版本。為了避免SpringCloud版本號與子項目版本號混淆,SpringCloud版本採用了名稱而非版本號的命名,這些版本的名字採用了倫敦地鐵站的名字,根據字母表的順序類對應版本時間順序。例如Angel是第一個版本,Brixton是第二個版本。當SpringCloud的發布內容累積到臨界點或者一個重大的Bug被解決後,會發布一個「service releases」版本,簡稱SRX版本,比如Greenwich.SR2就是SpringCloud發布的Greenwich版本的第2個SRX版本。

之後,會逐個的介紹SpringCloud各個組件,小夥伴們,敬請期待吧。

相關焦點

  • 基於 Spring Boot 和 Spring Cloud 實現微服務架構
    Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可以和spring cloud聯合部署。Spring cloud子項目目前來說spring主要集中於spring boot(用於開發微服務)和spring cloud相關框架的開發,我們從幾張圖著手理解,然後再具體介紹:
  • 基於Spring Boot和Spring Cloud實現微服務架構
    Spring cloud子項目目前來說spring主要集中於spring boot(用於開發微服務)和spring cloud相關框架的開發,我們從幾張圖著手理解,然後再具體介紹:分布式的管理Martin自己也說了,每個人對微服務都可以有自己的理解,不過大概的標準還是有一些的。
  • 實現微服務架構最流行Style,Spring Boot+Spring Cloud
    Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可以和spring cloud聯合部署。Spring Framework:即通常所說的spring 框架,是一個開源的Java/Java EE全功能棧應用程式框架,其它spring項目如spring boot也依賴於此框架。
  • 基於Spring Boot和Spring Cloud實現微服務架構學習
    Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可以和spring cloud聯合部署。Spring Framework:即通常所說的spring 框架,是一個開源的Java/Java EE全功能棧應用程式框架,其它spring項目如spring boot也依賴於此框架。
  • 華為自爆宇宙級:基於SpringBoot+Cloud微服務分布式架構實戰手冊
    Spring Boot以及Spring Cloud作為現在最火的技術,同時也是面試過程中必然會被問到的點,小編今天開源的這份手冊就是以分布式架構結合微服務實例的方式,介紹Spring Boot+Spring Cloud的基礎知識、架構順序和操作方法。
  • 厲害了,教你用 Spring Cloud 實現微服務
    Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可以和spring cloud聯合部署。Spring cloud子項目目前來說spring主要集中於spring boot(用於開發微服務)和spring cloud相關框架的開發,我們從幾張圖著手理解,然後再具體介紹:
  • 美團T9都說太「強」了,以微服務分布式的實戰詳解SpringCloud
    隨著微服務架構的興起,國內的IT企業特別是網際網路公司近年來都逐步引入了微服務技術並使其在實踐中落地,實施微服務架構最流行的方案非SpringCloud莫屬。從企業的真實需求出發,理論結合實際,深入講解SpringCloud微服務和分布式系統的知識。
  • 基於Spring Boot+Cloud構建微雲架構
    Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可以和spring cloud聯合部署。Spring cloud子項目目前來說spring主要集中於spring boot(用於開發微服務)和spring cloud相關框架的開發,我們從幾張圖著手理解,然後再具體介紹:
  • springcloud五大組件
    首先我們來看springcloud是什麼?它是微服務架構集大成者,基於springboot構建,可以將一系列優秀組件進行完美整合。對熟悉的程式設計師來說,上手不麻煩,對新手來說,就需要了解springcloud架構再去學習。
  • 初識Spring Cloud Stream,什麼是消息驅動微服務框架
    滿足以上特性的系統代表著一種鬆耦合的架構,通常被稱為事件驅動架構,而這裡的事件也可以被理解是服務與服務之間發送的一種消息。事件驅動架構本質上是一種架構設計風格,實現方法和工具有很多。在 Spring Cloud 家族中這個工具就是 Spring Cloud Stream。
  • SpringCloud常見面試題(2020最新版)
    Spring Cloud 為微服務架構提供了非常完整的支持。(1)服務調用方式 dubbo是RPC springcloud Rest Api(2)註冊中心,dubbo 是zookeeper springcloud是eureka,也可以是zookeeper(3)服務網關,dubbo本身沒有實現,只能通過其他第三方技術整合
  • 什麼是SpringCloud?
    當然了,我的水平是有限的,可能會有一些理解錯的的概念/知識點,還請大家不吝在評論區指正啊~~SpringCloud GitHub Demo(看完文章的同學可以自己練手玩玩):項目結構圖:二、集群/分布式/微服務/SOA是什麼?像我這種技術小白,看到這些詞(集群/分布式/微服務/SOA)的時候,感覺就是遙不可及的(高大尚的技術!!)。
  • 安全的Spring Cloud配置
    安全的Spring Cloud配置如果您要在Spring Boot和Spring Cloud之上構建微服務架構,那麼我幾乎可以確定您正在使用的項目之一是Spring Cloud Config。Spring Cloud Config負責實現一種最流行的微服務模式,稱為分布式配置。
  • 擁抱Kubernetes,再見了Spring Cloud
    相信很多Java從業者在熟悉了微服務開發後,自以為用 Spring Cloud 已經成功打造了微服務架構帝國,Java 已經壟斷微服務領域,殊不知當引入 k8s 後,Spring Cloud 卻和 Cloud Native
  • 微服務 SpringCloud Alibaba Seata處理分布式事務
    一、分布式事務問題什麼是分布式事務?一次業務操作需要跨多個數據源或需要跨多個系統進行遠程調用,就會產生分布式事務問題。例如,在微服務分布式架構中,一次網上購買操作涉及到,訂單系統,支付系統,積分系統,庫存系統,物流系統。一個業務邏輯,分別對應不同的系統,不同的數據源,其中一環出現問題,需要全部回退,這就是分布式事務要解決的問題。
  • 放棄Dubbo,選擇最流行的Spring Cloud微服務架構實踐與經驗總結
    微服務是一種架構風格,一個大型複雜軟體應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是鬆耦合的。每個微服務僅關注於完成一件任務並很好地完成該任務。在所有情況下,每個任務代表著一個小的業務能力。
  • 可以秒殺全場的SpringCloud微服務電商實戰項目,文檔賊全
    很多程式設計師每項技術單獨拿出來有可能很厲害,例如:springcloud、springboot、redis、nginx、mysql、rabbitMq等,但是普遍缺乏將所有的這些技術整合到一起,從前端到後端,從開發到部署上線,從每個知識點到整體的設計。
  • 阿里P8架構師整理總結:Spring+SpringBoot+SpringCloud技術文檔
    很多研發人員把spring看作心目中最好的java項目,沒有之一。所以這是重點也是難點,工作中必須會,面試時肯定考。今天給大家介紹的內容主要包括三大部分:spring實戰(第4版)、spring boot2精髓、Spring Cloud 微服務架構進階,希望大家能夠喜歡!!!spring實戰(第4版)本文分為4部分。
  • Spring Cloud Alibaba 發布 GA 版本,新增 4 個模塊
    版本概要概要: 增加了 4 個新的模塊:spring-cloud-alibaba-dubbo、spring-cloud-alibaba-seata、spring-cloud-alibaba-sentinel-zuul 以及 spring-cloud-alicloud-sms。
  • 阿里巴巴SpringCloud開源教程、文檔合集,趕緊收藏
    Spring Boot作為下一代 web 框架,Spring Cloud 作為最新最火的微服務的翹楚,你還有什麼理由拒絕。趕快上船吧,老船長帶你飛。終章不是最後一篇,它是一個匯總,未來還會寫很多篇。不要問我為什麼?你們要學習我也要學習啊,共享讓人快了,缺點總是要有被人指點出來的!