微服務(wù)入門課件_第1頁
微服務(wù)入門課件_第2頁
微服務(wù)入門課件_第3頁
微服務(wù)入門課件_第4頁
微服務(wù)入門課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

微服務(wù)入門介紹

SpringCloud林可斌微服務(wù)入門介紹

SpringCloud●主要內(nèi)容一、服務(wù)架構(gòu)設(shè)計的發(fā)展二、微服務(wù)簡介三、微服務(wù)架構(gòu)工作流程四、springCloud介紹●主要內(nèi)容一、服務(wù)架構(gòu)設(shè)計的發(fā)展一、服務(wù)架構(gòu)設(shè)計的發(fā)展一、服務(wù)架構(gòu)設(shè)計的發(fā)展單體架構(gòu)單體架構(gòu)單一代碼庫、IDE友好、看著簡單容易部署開發(fā)模型簡單,一份代碼庫進行編碼、構(gòu)建和部署技術(shù)棧單一單體架構(gòu)的特點和好處單一代碼庫、IDE友好、看著簡單單體架構(gòu)的特點和好處龐大的代碼庫,關(guān)系錯綜復雜交付周期長擴展能力與彈性受限新技術(shù)與工具框架使用會受限維護成本高單體架構(gòu)的問題龐大的代碼庫,關(guān)系錯綜復雜單體架構(gòu)的問題服務(wù)化架構(gòu)服務(wù)化架構(gòu)對業(yè)務(wù)進行分層,通常分為表現(xiàn)層(前端)、公共服務(wù)、業(yè)務(wù)邏輯服務(wù)、數(shù)據(jù)訪問層等對業(yè)務(wù)進行解耦,通過Pub-Sub或RPC進行服務(wù)間調(diào)用關(guān)系解耦服務(wù)獨立性,多數(shù)服務(wù)可以進行獨立打包發(fā)布每個服務(wù)的技術(shù)棧單一部署簡單,具備可伸縮性服務(wù)化架構(gòu)的特點和好處對業(yè)務(wù)進行分層,通常分為表現(xiàn)層(前端)、公共服務(wù)、業(yè)務(wù)邏輯服對于部分服務(wù)而言,代碼庫依然很龐大打包、發(fā)布、部署流程不足夠好維護團隊間溝通受阻,技術(shù)經(jīng)驗有效傳遞不夠服務(wù)增多對開發(fā)人員不夠友好服務(wù)化架構(gòu)的問題對于部分服務(wù)而言,代碼庫依然很龐大服務(wù)化架構(gòu)的問題微服務(wù)架構(gòu)服務(wù)注冊

→服務(wù)發(fā)現(xiàn)→服務(wù)調(diào)用微服務(wù)架構(gòu)服務(wù)注冊→服務(wù)發(fā)現(xiàn)→服務(wù)調(diào)用MVC SOA Microservices架構(gòu)設(shè)計發(fā)展架構(gòu)設(shè)計發(fā)展MVC SOA Microservices視圖、業(yè)務(wù)邏輯前后端分離架構(gòu)設(shè)計發(fā)展架構(gòu)設(shè)計發(fā)展MVC SOA Microservices視圖、業(yè)務(wù)邏

大型系統(tǒng)分層輯前后端分離解耦,標準接

口調(diào)用,分布

式系統(tǒng)架構(gòu)設(shè)計發(fā)展架構(gòu)設(shè)計發(fā)展MVC SOA Microservices視圖、業(yè)務(wù)邏

大型系統(tǒng)分層

云計算產(chǎn)物,輯前后端分離解耦,標準接

關(guān)注敏捷交付

口調(diào)用,分布

和部署速度、

式系統(tǒng)

頻次架構(gòu)設(shè)計發(fā)展架構(gòu)設(shè)計發(fā)展二、微服務(wù)簡介二、微服務(wù)簡介suiteofsmallservices:由一系列小服務(wù)組成runninginitsownprocess:每個服務(wù)運行于自己的獨立進程builtaroundbusinesscapabilities:圍繞著業(yè)務(wù)功能進行建模independentlydeployable:每個服務(wù)可進行獨立部署bareminimumofcentralizedmanagement:最低限度集中種管理

微服務(wù)入門課件微服務(wù)的特征每個微服務(wù)都是業(yè)務(wù)完整的

接口及界面呈現(xiàn)、業(yè)務(wù)邏輯、數(shù)據(jù)管理每個微服務(wù)僅僅對一個業(yè)務(wù)負責

產(chǎn)品服務(wù)、評價服務(wù)、支付服務(wù)、訂單服務(wù)每個微服務(wù)接口明確定義

接口消費只關(guān)注接口,對微服務(wù)不具備依賴獨立部署、升級和伸縮微服務(wù)的特征每個微服務(wù)都是業(yè)務(wù)完整的服務(wù)的獨立性與自主性服務(wù)的獨立性與自主性微服務(wù)的獨立性與自主性微服務(wù)間的獨立性是關(guān)鍵代碼庫獨立技術(shù)棧獨立可伸縮性、可擴展性獨立還有業(yè)務(wù)功能等微服務(wù)的獨立性與自主性微服務(wù)間的獨立性是關(guān)鍵代碼庫獨立獨立的代碼庫每個微服務(wù)具備自己的代碼倉庫由對應(yīng)團隊開發(fā)者維護編譯、打包、發(fā)布及部署都很快服務(wù)啟動迅速在各個服務(wù)的代碼庫間沒有交叉依賴獨立的代碼庫每個微服務(wù)具備自己的代碼倉庫由對應(yīng)團隊開發(fā)者維護技術(shù)棧對立每個微服務(wù)都有自己獨立的技術(shù)棧來實現(xiàn)根據(jù)業(yè)務(wù)實現(xiàn)需求來選中最合適的技術(shù)棧團隊可以嘗試新的技術(shù)、工具或者框架所選的技術(shù)棧一般來說都很輕量級不需要同一標準化技術(shù)棧的選擇。無需針對技術(shù)選型而糾關(guān)注業(yè)務(wù)實現(xiàn)技術(shù)棧對立每個微服務(wù)都有自己獨立的技術(shù)棧來實現(xiàn)根據(jù)業(yè)務(wù)實現(xiàn)需獨立的可伸縮性每個微服務(wù)都可以獨立的伸縮更加直觀定位性能瓶頸數(shù)據(jù)庫分片可以根據(jù)需求來獨立的可伸縮性每個微服務(wù)都可以獨立的伸縮更加直觀定位性能瓶頸業(yè)務(wù)功能獨立每個微服務(wù)可以在不影響其他微服務(wù)的情況下進行功能擴展例如更新新版本界面或者某個微服務(wù)中的某項功能時,無需更新整個系統(tǒng)可以進行整個業(yè)務(wù)功能的重寫,并替換之

*要保證接口明確定義且穩(wěn)定業(yè)務(wù)功能獨立每個微服務(wù)可以在不影響其他微服務(wù)的情況下進行功能微服務(wù)優(yōu)點每個服務(wù)足夠內(nèi)聚,足夠小,代碼容易理解、開發(fā)效率提高服務(wù)之間可以獨立部署,微服務(wù)架構(gòu)讓持續(xù)部署成為可能;每個服務(wù)可以各自進行x擴展和z擴展,而且,每個服務(wù)可以根據(jù)自己的需要部署到合適的硬件服務(wù)器上;容易擴大開發(fā)團隊,可以針對每個服務(wù)(service)組件開發(fā)團隊;提高容錯性(faultisolation),一個服務(wù)的內(nèi)存泄露并不會讓整個系統(tǒng)癱瘓;系統(tǒng)不會被長期限制在某個技術(shù)棧上。

微服務(wù)優(yōu)點每個服務(wù)足夠內(nèi)聚,足夠小,代碼容易理解、開發(fā)效率提微服務(wù)不足“微服務(wù)”強調(diào)了服務(wù)大小業(yè)務(wù)邏輯。分區(qū)數(shù)據(jù)庫測試

微服務(wù)不足“微服務(wù)”強調(diào)了服務(wù)大小三、微服務(wù)架構(gòu)工作流程三、微服務(wù)架構(gòu)工作流程微服務(wù)架構(gòu)工作流程設(shè)計階段

將產(chǎn)品功能拆分為若干服務(wù)

為每個服務(wù)設(shè)計API接口開發(fā)階段

實現(xiàn)API接口(包括單元測試)

開發(fā)UI原型(頁面)測試階段

前后端集成

驗證產(chǎn)品功能部署階段

發(fā)布測試環(huán)境

發(fā)布生產(chǎn)環(huán)境微服務(wù)架構(gòu)工作流程設(shè)計階段四、springCloud介紹四、springCloud介紹springCloud介紹SpringCloud是一系列框架的有序集合。它利用SpringBoot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、消息總線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用SpringBoot的開發(fā)風格做到一鍵啟動和部署。Spring并沒有重復制造輪子,它只是將目前各家公司開發(fā)的比較成熟、經(jīng)得起實際考驗的服務(wù)框架組合起來,通過SpringBoot風格進行再封裝屏蔽掉了復雜的配置和實現(xiàn)原理,最終給開發(fā)者留出了一套簡單易懂、易部署和易維護的分布式系統(tǒng)開發(fā)工具包。springCloud介紹SpringCloud是一系列框springCloud主要成員主要的小弟有:SpringCloudConfig、SpringCloudNetflix(Eureka、Hystrix、Zuul、Archaius…)、SpringCloudBus、SpringCloudforCloudFoundry、SpringCloudCluster、SpringCloudConsul、SpringCloudSecurity、SpringCloudSleuth、SpringCloudDataFlow、SpringCloudStream、SpringCloudTask、SpringCloudZookeeper、SpringCloudConnectors、SpringCloudStarters、SpringCloudCLI,每個小弟身懷獨門絕技武功高強下面來做一一介紹。springCloud主要成員主要的小弟有:SpringCSpringCloudNetflix

這可是個大boss,地位僅次于老大,老大各項服務(wù)依賴y于它,與各種NetflixOSS組件集成,組成微服務(wù)的核心,它的小弟主要有Eureka,Hystrix,Zuul,Archaius…SpringCloudNetflix

這可是個大bossNetflixHystrix

熔斷器,容錯管理工具,旨在通過熔斷機制控制服務(wù)和第三方庫的節(jié)點,從而對延遲和故障提供更強大的容錯能力。比如突然某個小弟生病了,但是你還需要它的支持,然后調(diào)用之后它半天沒有響應(yīng),你卻不知道,一直在等等這個響應(yīng);有可能別的小弟也正在調(diào)用你的武功絕技,那么當請求多之后,就會發(fā)生嚴重的阻塞影響老大的整體計劃。這個時候Hystrix就派上用場了,當Hystrix發(fā)現(xiàn)某個小弟不在狀態(tài)不穩(wěn)定立馬馬上讓它下線,讓其它小弟來頂上來,或者給你說不用等了這個小弟今天肯定不行,該干嘛趕緊干嘛去別在這排隊了。NetflixHystrix

熔斷器,容錯管理工具,旨在通NetflixEureka

服務(wù)中心,云端服務(wù)發(fā)現(xiàn),一個基于REST的服務(wù),用于定位服務(wù),以實現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移。這個可是springcloud最牛鼻的小弟,服務(wù)中心,任何小弟需要其它小弟支持什么都需要從這里來拿,同樣的你有什么獨門武功的都趕緊過報道,方便以后其它小弟來調(diào)用;它的好處是你不需要直接找各種什么小弟支持,只需要到服務(wù)中心來領(lǐng)取,也不需要知道提供支持的其它小弟在哪里,還是幾個小弟來支持的,反正拿來用就行,服務(wù)中心來保證穩(wěn)定性和質(zhì)量。NetflixEureka

服務(wù)中心,云端服務(wù)發(fā)現(xiàn),一個基NetflixZuulZuul是在云平臺上提供動態(tài)路由,監(jiān)控,彈性,安全等邊緣服務(wù)的框架。Zuul相當于是設(shè)備和Netflix流應(yīng)用的Web網(wǎng)站后端所有請求的前門。當其它門派來找大哥辦事的時候一定要先經(jīng)過zuul,看下有沒有帶刀子什么的給攔截回去,或者是需要找那個小弟的直接給帶過去。NetflixZuulZuul是在云平臺上提供動態(tài)路由,SpringCloudConfig俗稱的配置中心,配置管理工具包,讓你可以把配置放到遠程服務(wù)器,集中化管理集群配置,目前支持本地存儲、Git以及Subversion。就是以后大家武器、槍火什么的東西都集中放到一起,別隨便自己帶,方便以后統(tǒng)一管理、升級裝備。SpringCloudConfig俗稱的配置中心,配置管SpringCloud的優(yōu)勢微服務(wù)的框架那么多比如:dubbo、Kubernetes,為什么就要使用SpringCloud的呢?產(chǎn)出于spring大家族,spring在企業(yè)級開發(fā)框架中無人能敵,來頭很大,可以保證后續(xù)的更新、完善。比如dubbo現(xiàn)在就差不多死了有springBoot這個獨立干將可以省很多事,大大小小的活springboot都搞的挺不錯。作為一個微服務(wù)治理的大家伙,考慮的很全面,幾乎服務(wù)治理的方方面面都考慮到了,方便開發(fā)開箱即用。SpringCloud活躍度很高,教程很豐富,遇到問題很容易找到解決方案輕輕松松幾行代碼就完成了熔斷、均衡負責、服務(wù)中心的各種平臺功能SpringCloud的優(yōu)勢微服務(wù)的框架那么多比如:du與SpringBoot的關(guān)系Springboot是Spring的一套快速配置腳手架,可以基于springboot

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論