springcloud 學習筆記(Spring Cloud 綜述)

Spring Cloud 綜述

Spring Cloud 是什么

[百度百科]Spring Cloud是?系列框架的有序集合。它利?Spring Boot的開發(fā)便利 性巧妙地簡化了分布式系統(tǒng)基礎設施的開發(fā),如服務發(fā)現(xiàn)注冊、配置中?、消息總 線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以? Spring Boot的開發(fā)?格做到?鍵啟 動和部署。Spring Cloud并沒有重復制造輪?,它只是將?前各家公司開發(fā)的?較 成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot?格進?再封裝屏蔽 掉了復雜的配置和實現(xiàn)原理,最終給開發(fā)者留出了?套簡單易懂、易部署和易維護 的分布式系統(tǒng)開發(fā)?具包。

Spring Cloud是一系列框架的有序集合(Spring Cloud是一個規(guī)范)

開發(fā)服務發(fā)現(xiàn)注冊、配置中心、消息總線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等

利用Spring Boot的開發(fā)便利性簡化了微服務架構的開發(fā)(自動裝配)

Spring Cloud 解決什么問題

Spring Cloud 規(guī)范及實現(xiàn)意圖要解決的問題其實就是微服務架構實施過程中存在的一些問題,比如 微服務架構中的服務注冊發(fā)現(xiàn)問題、網(wǎng)絡問題(比如熔斷場景)、統(tǒng)一認證安全授權問題、負載均衡問 題、鏈路追蹤等問題。

  • Distributed/versioned configuration (分布式/版本化配置)

  • Service registration and discovery (服務注冊和發(fā)現(xiàn))

  • Routing (智能路由)

  • Service-to-service calls (服務調用)

  • Load balancing (負載均衡)

  • Circuit Breakers (熔斷器)

  • Global locks (全局鎖)

  • Leadership election and cluster state ( 選舉與集群狀態(tài)管理)

  • Distributed messaging (分布式消息傳遞平臺)

Spring Cloud 架構

Spring Cloud 核心組件
第一代 Spring Cloud(Netflix, SCN) 第二代 Spring Cloud(主要就是Spring Cloud Alibaba,SCA)
注冊中心 Netflix Eureka 阿里巴巴 Nacos
客戶端負 載均衡 Netflix Ribbon 阿里巴巴 Dubbo LB、Spring Cloud Loadbalancer
熔斷器 Netflix Hystrix 阿里巴巴 Sentinel
網(wǎng)關 Netflix Zuul:性能一般,未來將退出 Spring Cloud 生態(tài)圈 官方 Spring Cloud Gateway
配置中心 官方 Spring Cloud Config 阿里巴巴 Nacos、攜程 Apollo
服務調用 Netflix Feign 阿里巴巴 Dubbo RPC
消息驅動 官方 Spring Cloud Stream
鏈路追蹤 官方 Spring Cloud Sleuth/Zipkin
阿里巴巴 seata 分布式事務方案
Spring Cloud 體系結構(組件協(xié)同工作機制)
7217bffea15e1eadd6a8ee072db8f50.png

Spring Cloud中的各組件協(xié)同工作,才能夠支持一個完整的微服務架構。比如

  • 注冊中心負責服務的注冊與發(fā)現(xiàn),很好將各服務連接起來

  • API網(wǎng)關負責轉發(fā)所有外來的請求

  • 斷路器負責監(jiān)控服務之間的調用情況,連續(xù)多次失敗進行熔斷保護。

  • 配置中心提供了統(tǒng)一的配置信息管理服務,可以實時的通知各個服務獲取最新的配置信息

Spring Cloud 與 Dubbo 對?、

Dubbo是阿?巴巴公司開源的?個?性能優(yōu)秀的服務框架,基于RPC調?,對于? 前使?率較?的Spring Cloud Netflix來說,它是基于HTTP的,所以效率上沒有 Dubbo?,但問題在于Dubbo體系的組件不全,不能夠提供?站式解決?案,?如 服務注冊與發(fā)現(xiàn)需要借助于Zookeeper等實現(xiàn),?Spring Cloud Netflix則是真正的 提供了?站式服務化解決?案,且有Spring?家族背景。 前些年,Dubbo使?率?于SpringCloud,但?前Spring Cloud在服務化/微服務解 決?案中已經有了?常好的發(fā)展趨勢。

Spring Cloud 與 Spring Boot 的關系

Spring Cloud 只是利?了Spring Boot 的特點,讓我們能夠快速的實現(xiàn)微服務組件 開發(fā),否則不使?Spring Boot的話,我們在使?Spring Cloud時,每?個組件的相 關Jar包都需要我們??導?配置以及需要開發(fā)?員考慮兼容性等各種情況。所以 Spring Boot是我們快速把Spring Cloud微服務技術應?起來的?種?式。

Spring Cloud 核心組件

a47186df6dd25b7b8312d9cabaaeb5e.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容