SpringCloud基本概念

Spring Cloud 基本概念

SpringCloud.jpg

網(wǎng)站架構(gòu)演變過程

傳統(tǒng)架構(gòu)

傳統(tǒng)的 SSM、SSH 架構(gòu),分為三層架構(gòu)Web控制層、業(yè)務(wù)邏輯層數(shù)據(jù)訪問層。
傳統(tǒng)架構(gòu)也就是單點(diǎn)應(yīng)用,所有功能模塊全部堆放在一個(gè)工程中,業(yè)務(wù)沒有進(jìn)行拆分,一般適用于個(gè)人和小型團(tuán)隊(duì)開發(fā)。
這種架構(gòu)模式,一旦有一個(gè)模塊出問題,可能就會(huì)導(dǎo)致整個(gè)應(yīng)用程序奔潰。

分布式架構(gòu)

分布式架構(gòu)基于傳統(tǒng)架構(gòu)演變過來,將傳統(tǒng)的單體項(xiàng)目以項(xiàng)目模塊進(jìn)行拆分,拆分為會(huì)員項(xiàng)目、訂單項(xiàng)目、支付項(xiàng)目、優(yōu)惠券項(xiàng)目等,從而降低耦合度,這種項(xiàng)目架構(gòu)模式慢慢開始適合于互聯(lián)網(wǎng)公司規(guī)模人數(shù)開發(fā)。例如我們正在開發(fā)的項(xiàng)目就是采用這種架構(gòu)模式。

SOA

SOA架構(gòu)代表面向與服務(wù)架構(gòu),俗稱服務(wù)化,通俗的理解為面向與業(yè)務(wù)邏輯層開發(fā),將共同的業(yè)務(wù)邏輯抽取出來形成一個(gè)服務(wù),提供給其他服務(wù)接口進(jìn)行調(diào)用,服務(wù)與服務(wù)之間調(diào)用使用rpc遠(yuǎn)程技術(shù)。
SOA架構(gòu)特點(diǎn):

  1. SOA架構(gòu)中通常使用XML方式實(shí)現(xiàn)通訊,在高并發(fā)情況下XML比較冗余會(huì)帶來極大的影響,所以最后微服務(wù)架構(gòu)中采用JSON替代xml方式。
  2. SOA架構(gòu)的底層實(shí)現(xiàn)通過WebService和ESB(xml與中間件混合物),Web Service技術(shù)是SOA服務(wù)化的一種實(shí)現(xiàn)方式,WebService底層采用soap協(xié)議進(jìn)行通訊,soap協(xié)議就是Http或者是Https通道傳輸XML數(shù)據(jù)實(shí)現(xiàn)的協(xié)議。

微服務(wù)架構(gòu)

微服務(wù)架構(gòu)產(chǎn)生的原因

微服務(wù)架構(gòu)基于SOA架構(gòu)演變過來的
在傳統(tǒng)的WebService架構(gòu)中有如下問題:

  1. 依賴中心化服務(wù)發(fā)現(xiàn)機(jī)制
  2. 使用Soap通訊協(xié)議,通常使用XML格式來序列化通訊數(shù)據(jù),xml格式非常喜歡重,比較占寬帶傳輸。
  3. 服務(wù)化管理和 治理設(shè)施不完善
什么是微服務(wù)

微服務(wù)架是從SOA架構(gòu)演變過來,比SOA架構(gòu)粒度會(huì)更加精細(xì),讓專業(yè)的人去做專業(yè)的事情(專注),目的提高效率,每個(gè)服務(wù)于服務(wù)之間互不影響,微服務(wù)架構(gòu)中,每個(gè)服務(wù)必須獨(dú)立部署,互不影響,微服務(wù)架構(gòu)更加體現(xiàn)輕巧、輕量級(jí),是適合于互聯(lián)網(wǎng)公司敏捷開發(fā)。

微服務(wù)架構(gòu)特征

微服務(wù)架構(gòu)倡導(dǎo)應(yīng)用程序設(shè)計(jì)程多個(gè)獨(dú)立、可配置、可運(yùn)行和可微服務(wù)的子服務(wù)。
服務(wù)與服務(wù)通訊協(xié)議采用Http協(xié)議,使用restful風(fēng)格API形式來進(jìn)行通訊,數(shù)據(jù)交換格式輕量級(jí)json格式通訊,整個(gè)傳輸過程中,采用二進(jìn)制,所以http協(xié)議可以跨語言平臺(tái),并且可以和其他不同的語言進(jìn)行相互的通訊,所以很多開放平臺(tái)都采用http協(xié)議接口。

微服務(wù)架構(gòu)如何拆分
  1. 微服務(wù)把每一個(gè)職責(zé)單一功能存放在獨(dú)立的服務(wù)中
  2. 每個(gè)服務(wù)運(yùn)行在單獨(dú)的進(jìn)程中
  3. 每個(gè)服務(wù)有自己獨(dú)立數(shù)據(jù)庫存儲(chǔ)、實(shí)際上有自己獨(dú)立的緩存、數(shù)據(jù)庫、消息隊(duì)列等資源。
微服務(wù)架構(gòu)與SOA架構(gòu)的區(qū)別
  1. 微服務(wù)架構(gòu)基于 SOA架構(gòu) 演變過來,繼承 SOA架構(gòu)的優(yōu)點(diǎn),在微服務(wù)架構(gòu)中去除 SOA 架構(gòu)中的 ESB 消息總線,采用 http+json(restful)進(jìn)行傳輸。
  2. 微服務(wù)架構(gòu)比 SOA 架構(gòu)粒度會(huì)更加精細(xì),讓專業(yè)的人去做專業(yè)的事情(專注),目的提高效率,每個(gè)服務(wù)于服務(wù)之間互不影響,微服務(wù)架構(gòu)中,每個(gè)服務(wù)必須獨(dú)立部署,微服務(wù)架構(gòu)更加輕巧,輕量級(jí)。
  3. SOA 架構(gòu)中可能數(shù)據(jù)庫存儲(chǔ)會(huì)發(fā)生共享,微服務(wù)強(qiáng)調(diào)獨(dú)每個(gè)服務(wù)都是單獨(dú)數(shù)據(jù)庫,保證每個(gè)服務(wù)于服務(wù)之間互不影響。
  4. 項(xiàng)目體現(xiàn)特征微服務(wù)架構(gòu)比 SOA 架構(gòu)更加適合與互聯(lián)網(wǎng)公司敏捷開發(fā)、快速迭代版本,因?yàn)榱6确浅>?xì)。

Spring Cloud微服務(wù)框架

Spring Cloud 是什么?

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊(cè)、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用Spring Boot的開發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。Spring Cloud并沒有重復(fù)制造輪子,它只是將目前各家公司開發(fā)的比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起來,通過Spring Boot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。簡(jiǎn)而言之就是一套“一站式微服務(wù)解決方案”。

為什么選擇Spring Cloud?

因?yàn)镾pringCloud出現(xiàn),對(duì)微服務(wù)技術(shù)提供了非常大的幫助,因?yàn)镾pringCloud 提供了一套完整的微服務(wù)解決方案,不像其他框架只是解決了微服務(wù)中某個(gè)問題。

服務(wù)治理: 阿里巴巴開源的Dubbo和當(dāng)當(dāng)網(wǎng)在其基礎(chǔ)上擴(kuò)展的Dubbox、Eureka、Apache 的Consul等
分布式配置中心: 百度的disconf、Netfix的Archaius、360的QConf、SpringCloud、攜程的阿波羅等。
分布式任務(wù):xxl-job、elastic-job、springcloud的task等。
服務(wù)跟蹤:京東的hyra、springcloud的sleuth等

Spring Cloud簡(jiǎn)介

SpringCloud是基于SpringBoot基礎(chǔ)之上開發(fā)的微服務(wù)框架,SpringCloud是一套目前非常完整的微服務(wù)解決方案 框架,其內(nèi)容包含服務(wù)治理、注冊(cè)中心、配置管理、斷路器、智能路由、微代理、控制總線、全局鎖、分布式會(huì)話等。


SpringCloud組件架構(gòu).png

SpringCloud包含眾多的子項(xiàng)目
SpringCloud config 分布式配置中心
SpringCloud netflix 核心組件:

  • Eureka:服務(wù)治理 注冊(cè)中心
  • Hystrix:服務(wù)保護(hù)框架
  • Ribbon:客戶端負(fù)載均衡器
  • Feign:基于ribbon和hystrix的聲明式服務(wù)調(diào)用組件
  • Zuul: 網(wǎng)關(guān)組件,提供智能路由、訪問過濾等功能。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、傳統(tǒng)的可擴(kuò)展性架構(gòu)之分層架構(gòu)與SOA架構(gòu) 1、分層架構(gòu) (1)概念 分層架構(gòu)是很常見的架構(gòu)模式,它也叫 N 層...
    小manong閱讀 5,279評(píng)論 0 1
  • 前言 現(xiàn)在研發(fā)的項(xiàng)目啟動(dòng)今已近一年之久,期間從項(xiàng)目屬性、人員規(guī)模、系統(tǒng)定位等方面都發(fā)生了很大的變化,而且是越變?cè)胶?..
    孫振強(qiáng)閱讀 12,449評(píng)論 1 58
  • 女兒剛九型二階學(xué)習(xí)結(jié)束,原以為她學(xué)完二階會(huì)和我當(dāng)時(shí)二階結(jié)束一樣很無力,待在家里什么事情都不想做,但她說一點(diǎn)不...
    慧萍0603閱讀 314評(píng)論 0 0
  • 想對(duì)你說夜夢(mèng)清吉。
    老子可愛不_ddfe閱讀 178評(píng)論 0 0
  • 煙灰了天際,往事不回頭,回憶就這樣。煙淡了,云散了,一切終將曲離歡散。再好的人,再好的事,總會(huì)從你身邊掠走。不如就...
    無忌西東7閱讀 320評(píng)論 0 10

友情鏈接更多精彩內(nèi)容