溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構

發(fā)布時間:2020-07-07 05:06:07 來源:網(wǎng)絡 閱讀:649 作者:wx5d30212829a35 欄目:編程語言

一、 什么是 SpringCloud

什么是 SpringCloud:是一個服務治理平臺,提供了一些服務框架。包含了:服務注冊與發(fā)現(xiàn)、配置中心、消息中心 、負載均衡、數(shù)據(jù)監(jiān)控等等。

1 概念定義

Spring Cloud 是一個微服務框架,相比 Dubbo 等 RPC 框架,?Spring Cloud 提

供的全套的分布式系統(tǒng)解決方案。

Spring Cloud 對微服務基礎框架 Netflix 的多個開源組件進行了封裝,同時又實現(xiàn)了和云端平臺以及和 Spring Boot 開發(fā)框架的集成。

Spring Cloud 為微服務架構開發(fā)涉及的配置管理,服務治理,熔斷機制,智能路由,微代理,控制總線,一次性 token,全局一致性鎖,leader 選舉,分布式 session,集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式。

Spring Cloud 為開發(fā)者提供了快速構建分布式系統(tǒng)的工具,開發(fā)者可以快速的啟動服務或構建應用、同時能夠快速和云平臺資源進行對接。

2 Spring Cloud 的項目的位置

Sping Cloud 是 Spring 的一個頂級項目與 Spring Boot、Spring Data 位于同一位置。

3 Spring Cloud 的子項目

Spring Cloud 包含了很多子項目,如:

阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構


3.1Spring Cloud Config:配置管理工具,支持使用 Git 存儲配置內(nèi)容,支持應用配置的外部化存儲,支持客戶端配置信息刷新、加解密配置內(nèi)容等

3.2 Spring Cloud Bus:事件、消息總線,用于在集群(例如,配置變化事件)中傳播狀態(tài)變化,可與 Spring Cloud Config 聯(lián)合實現(xiàn)熱部署。

3.3Spring Cloud Netflix:針對多種 Netflix 組件提供的開發(fā)工具包,其中包括Eureka、Hystrix、Zuul、Archaius 等。

3.3.1Netflix Eureka:一個基于 rest 服務的服務治理組件,包括服務注冊中心、服務注冊與服務發(fā)現(xiàn)機制的實現(xiàn),實現(xiàn)了云端負載均衡和中間層服務器的故障轉移。

3.3.2Netflix Hystrix:容錯管理工具,實現(xiàn)斷路器模式,通過控制服務的節(jié)點,從而對延遲和故障提供更強大的容錯能力。

3.3.3Netflix Ribbon:客戶端負載均衡的服務調(diào)用組件。

3.3.4Netflix Feign:基于 Ribbon 和 Hystrix 的聲明式服務調(diào)用組件。

3.3.5Netflix Zuul:微服務網(wǎng)關,提供動態(tài)路由,訪問過濾等服務。

3.3.6Netflix Archaius:配置管理 API,包含一系列配置管理 API,提供動態(tài)類型化屬性、線程安全配置操作、輪詢框架、回調(diào)機制等功能。

3.4Spring Cloud for Cloud Foundry : 通 過 Oauth3 協(xié) 議 綁 定 服 務 到CloudFoundry,CloudFoundry 是 VMware 推出的開源 PaaS 云平臺。

3.5Spring Cloud Sleuth:日志收集工具包,封裝了 Dapper,Zipkin 和 HTrace操作。

3.6Spring Cloud Data Flow:大數(shù)據(jù)操作工具,通過命令行方式操作數(shù)據(jù)流。

3.7Spring Cloud Security:安全工具包,為你的應用程序添加安全控制,主要是指 OAuth3。

3.8Spring Cloud Consul:封裝了 Consul 操作,consul 是一個服務發(fā)現(xiàn)與配置工具,與 Docker 容器可以無縫集成

3.9Spring Cloud Zookeeper : 操 作 Zookeeper 的 工 具 包 , 用 于 使 用zookeeper 方式的服務注冊和發(fā)現(xiàn)。

3.10Spring Cloud Stream:數(shù)據(jù)流操作開發(fā)包,封裝了與 Redis,Rabbit、Kafka 等發(fā)送接收消息。

3.11Spring Cloud CLI:基于 Spring Boot CLI,可以讓你以命令行方式快速建立云組件。

二、 SpringCloud 與 Dubbo 的區(qū)別

阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構


三、 Spring Cloud 版本說明

1 常見版本號說明

軟件版本號:2.0.2.RELEASE

2:主版本號。當功能模塊有較大更新或者整體架構發(fā)生變化時,主版本號會更新

0:次版本號。次版本表示只是局部的一些變動。

2:修改版本號。一般是 bug 的修復或者是小的變動

RELEASE:希臘字母版本號。次版本號用戶標注當前版本的軟件處于哪個開發(fā)階段

1.1希臘字母版本號

Base:設計階段。只有相應的設計沒有具體的功能實現(xiàn)。

Alpha:軟件的初級版本。存在較多的 bug

Bate:表示相對 alpha 有了很大的進步,消除了嚴重的 bug,還存在一些潛在的 bug。

Release:該版本表示最終版。

2 Spring Cloud 版本號說明

2.1為什么 Spring Cloud 版本用的是單詞而不是數(shù)字?

設計的目的是為了更好的管理每個 Spring Cloud 的子項目的清單。避免子的版本號與子項目的版本號混淆。

2.2版本號單詞的定義規(guī)則

采用倫敦的地鐵站名稱來作為版本號的命名,根據(jù)首字母排序,字母順序靠后的版本號越大。

2.3版本發(fā)布計劃說明

阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構


Spring Cloud 與子項目版本兼容說明

阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構


由于篇幅有限,文案過長,筆者無法為大家講述微服務中的方方面面。微服務是-一個非常宏觀的話題,要想切實落地微服務架構,光靠一兩本書是遠遠不夠的。 微服務粒度、持續(xù)集成、自動化機制、組織機構的建設乃至如何從傳統(tǒng)架構向微服務架構遷移,都是值得我們深思的問題。

Spring Cloud與Docker微服務架構實戰(zhàn)

阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構



阿里首席架構師談微服務:SpringCloud與Docker入門到實戰(zhàn)架構


由于篇幅有限,文案過長,筆者無法為大家講述微服務中的方方面面。微服務是-一個非常宏觀的話題,要想切實落地微服務架構,光靠一兩本書是遠遠不夠的。 微服務粒度、持續(xù)集成、自動化機制、組織機構的建設乃至如何從傳統(tǒng)架構向微服務架構遷移,都是值得我們深思的問題。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI