成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

微服務(wù)與Spring Cloud概述

scwang90 / 560人閱讀

摘要:微服務(wù)架構(gòu)概述應(yīng)用架構(gòu)的發(fā)展應(yīng)用是可獨(dú)立運(yùn)行的程序代碼,提供相對(duì)完善的業(yè)務(wù)功能。阿里開(kāi)源的是的典型實(shí)現(xiàn)。它目前由官方開(kāi)發(fā)維護(hù),基于開(kāi)發(fā),提供一套完整的微服務(wù)解決方案。

微服務(wù)與Spring Cloud
隨著互聯(lián)網(wǎng)的快速發(fā)展, 云計(jì)算近十年也得到蓬勃發(fā)展, 企業(yè)的IT環(huán)境和IT架構(gòu)也逐漸在發(fā)生變革,從過(guò)去的單體應(yīng)用架構(gòu)發(fā)展為至今廣泛流行的微服務(wù)架構(gòu)。 微服務(wù)是一種架構(gòu)風(fēng)格, 能給軟件應(yīng)用開(kāi)發(fā)帶來(lái)很大的便利,但是微服務(wù)的實(shí)施和落地會(huì)面臨很大的挑戰(zhàn), 因此需要一套完整的微服務(wù)解決方案。 在Java領(lǐng)域,Spring框架的出現(xiàn)給Java企業(yè)級(jí)軟件開(kāi)發(fā)帶來(lái) 了福音, 提高了開(kāi)發(fā)效率。 在2014年底,Spring團(tuán)隊(duì)推出Spring Cloud, 目標(biāo)使其成為Java 領(lǐng)域微服務(wù)架構(gòu)落地的標(biāo)準(zhǔn),發(fā)展至今,Spring Cloud已經(jīng)成為Java領(lǐng)域落地微服務(wù)架構(gòu)的完整解決方案, 為企業(yè)IT架構(gòu)變革保駕護(hù)航。
微服務(wù)架構(gòu)概述 1.應(yīng)用架構(gòu)的發(fā)展

應(yīng)用是可獨(dú)立運(yùn)行的程序代碼, 提供相對(duì)完善的業(yè)務(wù)功能。 目前軟件架構(gòu)有三種架構(gòu)類(lèi)型, 分別是業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)、技術(shù)架構(gòu)。 它們之間的關(guān)系是業(yè)務(wù)架構(gòu)決定應(yīng)用架構(gòu), 技術(shù)架構(gòu)支撐應(yīng)用架構(gòu)。 架構(gòu)的發(fā)展歷程是從單體架構(gòu)、分布式架構(gòu)、SOA架構(gòu)再到微服務(wù)架構(gòu)。

1.1 單體架構(gòu)

單體架構(gòu)在Java領(lǐng)域可以理解為一個(gè)Java Web應(yīng)用程序,包含表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)訪問(wèn)層,從controller到service再到dao,就像一條單行道,從頭一路走到底,沒(méi)有任何業(yè)務(wù)的拆分,開(kāi)發(fā)完畢之后就是一個(gè)超級(jí)大型的War包部署。簡(jiǎn)單的單體架構(gòu)示例圖如下:


這種開(kāi)發(fā)方式對(duì)于大型應(yīng)用來(lái)說(shuō)非常復(fù)雜,也有“單體地獄”的稱(chēng)號(hào)。
我們來(lái)說(shuō)說(shuō)單體架構(gòu)的優(yōu)缺點(diǎn):
單體架構(gòu)的優(yōu)點(diǎn):

易于開(kāi)發(fā):開(kāi)發(fā)人員使用當(dāng)前開(kāi)發(fā)工具在短時(shí)間內(nèi)就可以開(kāi)發(fā)出單體應(yīng)用。

易于測(cè)試:因?yàn)椴恍枰蕾?lài)其他接口,測(cè)試可以節(jié)約很多時(shí)間。

易于部署:你只需要將目錄部署在運(yùn)行環(huán)境中即可。

單體架構(gòu)的缺點(diǎn):

靈活度不夠:如果程序有任何修改, 修改的不只是一個(gè)點(diǎn), 而是自上而下地去修改,測(cè)試時(shí)必須等到整個(gè)程序部署完后才能看出效果。 在開(kāi)發(fā)過(guò)程可能需要等待其他開(kāi)發(fā) 人員開(kāi)發(fā)完成后才能完成部署,降低了團(tuán)隊(duì)的靈活性。

降低系統(tǒng)的性能:原本可以直接訪問(wèn)數(shù)據(jù)庫(kù)但是現(xiàn)在多了一層。 即使只包含一個(gè)功能點(diǎn), 也需要在各個(gè)層寫(xiě)上代碼。

系統(tǒng)啟動(dòng)慢:一個(gè)進(jìn)程包含了所有業(yè)務(wù)邏輯, 涉及的啟動(dòng)模塊過(guò)多, 導(dǎo)致系統(tǒng)的啟動(dòng) 時(shí)間延長(zhǎng)。

系統(tǒng)擴(kuò)展性比較差:增加新東西的時(shí)候不能針對(duì)單個(gè)點(diǎn)增加, 要全局性地增加。 牽一 發(fā)而動(dòng)全身。

1.2 分布式架構(gòu)

分布式架構(gòu)就是在傳統(tǒng)的單體架構(gòu)的基礎(chǔ)上,按照業(yè)務(wù)垂直切分,每個(gè)應(yīng)用都是單體架構(gòu),通過(guò)API相互調(diào)用。


分布式架構(gòu)的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):

依賴(lài)解耦

理解清晰

缺點(diǎn):

進(jìn)程間調(diào)用的可靠性低

實(shí)現(xiàn)技術(shù)復(fù)雜

1.3 SOA架構(gòu)

SOA(Service-Oriented Architecture)是指面向服務(wù)的架構(gòu),面向服務(wù)的架構(gòu)是一種軟件體系結(jié)構(gòu), 其應(yīng)用程序的不同組件通過(guò)網(wǎng)絡(luò)上的通信協(xié)議向其他組件提供服務(wù)或消費(fèi)服務(wù),所以也是一種分布式架構(gòu)。簡(jiǎn)單來(lái)說(shuō),SOA是不同業(yè)務(wù)建立不同 的服務(wù), 服務(wù)之間的數(shù)據(jù)交互粗粒度可以通過(guò)服務(wù)接口分級(jí), 這樣松散耦合提高服務(wù)的可重用性,也讓業(yè)務(wù)邏輯變得可組合, 并且每個(gè)服務(wù)可以根據(jù)使用情況做出合理的分布式部署,從而讓服務(wù)變得規(guī)范,高性能,高可用。

SOA架構(gòu)中有兩個(gè)主要角色:服務(wù)提供者(Provider)和服務(wù)消費(fèi)者(Consumer)。 阿里開(kāi)源的Dubbo是SOA的典型實(shí)現(xiàn)。
SOA架構(gòu)的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):

把模塊拆分,使用接口通信,降低模塊之間的耦合度

把項(xiàng)目拆分成若干子項(xiàng)目,不同團(tuán)隊(duì)負(fù)責(zé)不同的子項(xiàng)目

增加功能時(shí)只需要增加一個(gè)子項(xiàng)目,調(diào)用其他系統(tǒng)的接口即可

可靈活地進(jìn)行分布式部署

缺點(diǎn):

系統(tǒng)之間交互需要遠(yuǎn)程通信

接口開(kāi)發(fā)增加工作量

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

微服務(wù)架構(gòu)在某種程度上是SOA架構(gòu)繼續(xù)發(fā)展的下一步,微服務(wù)的概念最早源千Martin Flower的《Microservice》??傮w來(lái)講,微服務(wù)是一種架構(gòu)風(fēng)格,對(duì)于一個(gè)大型復(fù)雜的業(yè)務(wù)系統(tǒng),它的業(yè)務(wù)功能可以拆分為多個(gè)相互獨(dú)立的微服務(wù),各個(gè)服務(wù)之間是松耦合的,通過(guò)各種遠(yuǎn)程協(xié)議進(jìn)行同步/異步通信,各微服務(wù)均可被獨(dú)立部署、擴(kuò)/縮容以及服務(wù)升/降級(jí)。

2. 微服務(wù)解決方案

現(xiàn)今微服務(wù)架構(gòu)十分火爆,而采用微服務(wù)構(gòu)建系統(tǒng)也會(huì)帶來(lái)更清晰的業(yè)務(wù)劃分和可擴(kuò)展性。支持微服務(wù)的技術(shù)棧也是多種多樣。這里主要介紹兩種實(shí)現(xiàn)微服務(wù)的解決方案:

2.1 基于Spring Cloud的微服務(wù)解決方案

基于Spring Cloud的微服務(wù)解決方案也有人稱(chēng)為“Spring系微服務(wù)”,Spring Cloud的技術(shù)選型是中立的,Spring Cloud框架提供微服務(wù)落地方案主要有以下三種:

2.2 基于Dubbo實(shí)現(xiàn)微服務(wù)解決方案

基于阿里開(kāi)源中間件Dubbo構(gòu)建微服務(wù)解決方案有人也稱(chēng)為“阿里系微服務(wù)”,但是Dubbo未來(lái)的定位并不是要成為一個(gè)微服務(wù)的全面解決方案,而是專(zhuān)注于RPC領(lǐng)域,成為微服務(wù)生態(tài)體系中的一個(gè)重要組件。至于微服務(wù)衍化出的服務(wù)治理需求,Dubbo正在積極適配開(kāi)源解決方案,并且已經(jīng)啟動(dòng)獨(dú)立的開(kāi)源項(xiàng)目予以支持,例如Nacos等。Nacos的定位是一個(gè)更易于幫助構(gòu)建原生云應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺(tái)。因此,基于Dubbo的微服務(wù)解決方案是:Dubbo + Nacos + 其他組件。

Spring Cloud概述 中間件概述

中間件與操作系統(tǒng)、數(shù)據(jù)庫(kù)并列為傳統(tǒng)基礎(chǔ)軟件的三駕馬車(chē)。其中,中間件也是難度極高的軟件工程。傳統(tǒng)中間件的概念,誕生于上一個(gè) “分布式 ” 計(jì)算的年代,也就是小規(guī)模局域網(wǎng)中的服務(wù)器/客戶(hù)端計(jì)算模式,在操作系統(tǒng)之上、應(yīng)用軟件之下的 "中間層“ 軟件。

隨著互聯(lián)網(wǎng)的快速發(fā)展,以及云計(jì)算的出現(xiàn), 企業(yè)的IT架構(gòu)正在發(fā)生深刻的變革。在這個(gè)過(guò)程中,軟件向大規(guī)模互聯(lián)網(wǎng)云服務(wù)演化,無(wú)論是操作系統(tǒng)還是數(shù)據(jù)庫(kù)都發(fā)生了深刻的變化,中間件也在這個(gè)過(guò)程不斷演進(jìn)和擴(kuò)大自己的邊界。中間件向下屏蔽異構(gòu)的硬件、軟件、網(wǎng)絡(luò)等計(jì)算資源,向上提供應(yīng)用開(kāi)發(fā)、運(yùn)行、維護(hù)等全生命周期的統(tǒng)一計(jì)算環(huán)境與管理,屬千承上啟下的中間連接層,對(duì)企業(yè)來(lái)說(shuō)有著極其重要的價(jià)值。中間件本質(zhì)上可以歸屬為技術(shù)架構(gòu) ,常見(jiàn)的中間件分別是服務(wù)治理中間件(例如: Dubbo 等RP C框架)、配置中心、全鏈路監(jiān)控、分布式事務(wù)、分布式定時(shí)任務(wù)、消息中間件、API網(wǎng)關(guān)、分布式緩存、數(shù)據(jù)庫(kù)中間 件等。
Spring Cloud是什么?
Spring Cloud也是一個(gè)中間件。它目前由Spring官方開(kāi)發(fā)維護(hù),基于Spring Boot開(kāi)發(fā),提供一套完整的微服務(wù)解決方案。包括服務(wù)注冊(cè)與發(fā)現(xiàn)、配置中心、全鏈路監(jiān)控、API網(wǎng)關(guān)、熔斷器等選型中立的開(kāi)源組件,可以隨需擴(kuò)展和替換組裝。Spring Cloud項(xiàng)目自從推出以來(lái),到目前為止一直在高速迭代。Spring Cloud技術(shù)團(tuán)隊(duì)于2018年6月19日發(fā)布了Spring Cloud的重大里程碑Finchley版本。
Spring Cloud項(xiàng)目模塊

Spring Cloud是一個(gè)開(kāi)源項(xiàng)目集合,包括很多子項(xiàng)目。具體項(xiàng)目可以在GitHub上查看.因?yàn)?Spring Cloud的子項(xiàng)目居多, 每個(gè)子項(xiàng)目有自己的版本號(hào),為了對(duì)Spring Cloud整體進(jìn)行版本編號(hào),確定一個(gè)可用千生產(chǎn)上的版本標(biāo)識(shí)。這些版本采用倫敦地鐵站的名字,按名稱(chēng)首字母排序, 比如Dalston版,Edgware版,F(xiàn)inchley。但是我們一般都會(huì)簡(jiǎn)稱(chēng)為 D版、E版、F版等。

以下是Spring Cloud部分組件列表:

個(gè)人微信公眾號(hào),歡迎一起討論:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74412.html

相關(guān)文章

  • 架構(gòu)~服務(wù) - 收藏集 - 掘金

    摘要:它就是史上最簡(jiǎn)單的教程第三篇服務(wù)消費(fèi)者后端掘金上一篇文章,講述了通過(guò)去消費(fèi)服務(wù),這篇文章主要講述通過(guò)去消費(fèi)服務(wù)。概覽和架構(gòu)設(shè)計(jì)掘金技術(shù)征文后端掘金是基于的一整套實(shí)現(xiàn)微服務(wù)的框架。 Spring Boot 配置文件 – 在坑中實(shí)踐 - 后端 - 掘金作者:泥瓦匠鏈接:Spring Boot 配置文件 – 在坑中實(shí)踐版權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)注明出處本文提綱一、自動(dòng)配置二、自定義屬性三、ran...

    church 評(píng)論0 收藏0
  • Spring Cloud 服務(wù) Service Mesh 的融合

    摘要:并不會(huì)在微服務(wù)框架中有其它的注冊(cè)機(jī)制。微服務(wù)框架本身不會(huì)維護(hù)服務(wù)組件的啟動(dòng)順序,這一問(wèn)題可以由來(lái)解決。啟動(dòng)先后邏輯為被依賴(lài)的服務(wù)先啟動(dòng),只有當(dāng)前服務(wù)所依賴(lài)的服務(wù)全部正常啟動(dòng)后,才會(huì)開(kāi)始啟動(dòng)流程。 概述 這篇文檔,著重解決一個(gè)問(wèn)題:Spring Cloud 融合于 Rainbond 原生 Service Mesh 的正確姿勢(shì)是什么樣子的。 Rainbond 原生支持 Service Me...

    fyber 評(píng)論0 收藏0
  • 架構(gòu)~服務(wù)

    摘要:接下來(lái)繼續(xù)介紹三種架構(gòu)模式,分別是查詢(xún)分離模式微服務(wù)模式多級(jí)緩存模式。分布式應(yīng)用程序可以基于實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負(fù)載均衡命名服務(wù)分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊(duì)列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡(jiǎn)單的 SpringCloud 教程 | 第九篇: 服務(wù)鏈路追蹤 (Spring Cloud Sleuth) 史上最簡(jiǎn)單的 S...

    xinhaip 評(píng)論0 收藏0
  • 華為官方首發(fā)Spring響應(yīng)式服務(wù),Spring+Boot+Cloud三管齊下

    摘要:今天小編就來(lái)分享一份華為剛剛首發(fā)的響應(yīng)式微服務(wù)實(shí)戰(zhàn)這份主要包含響應(yīng)式微服務(wù)架構(gòu)實(shí)現(xiàn)過(guò)程中所應(yīng)具備的技術(shù)體系和工程實(shí)踐,在組織結(jié)構(gòu)上分如下篇。 今天小編就來(lái)分享一份華為剛剛首發(fā)的Spring響應(yīng)式微服務(wù)(Spring Boot 2+Spring 5+Spring Cloud實(shí)戰(zhàn))! 這份PDF...

    cangck_X 評(píng)論0 收藏0
  • 2021 年最新基于 Spring Cloud服務(wù)架構(gòu)分析

    摘要:是一個(gè)相對(duì)比較新的微服務(wù)框架,年才推出的版本雖然時(shí)間最短但是相比等框架提供的全套的分布式系統(tǒng)解決方案。提供線程池不同的服務(wù)走不同的線程池,實(shí)現(xiàn)了不同服務(wù)調(diào)用的隔離,避免了服務(wù)器雪崩的問(wèn)題。通過(guò)互相注冊(cè)的方式來(lái)進(jìn)行消息同步和保證高可用。 Spring Cloud 是一個(gè)相對(duì)比較新的微服務(wù)框架,...

    cikenerd 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<