深入理解Spring Cloud與微服務(wù)構(gòu)建

文章目錄:

一妒挎、微服務(wù)簡介

隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,目前全球超過一半的人口在使用 互聯(lián)網(wǎng),人們的生活隨著互

聯(lián)網(wǎng)的發(fā)展原朝,發(fā)生了翻天覆地的變化喳坠。各行各業(yè)都在應(yīng)用互聯(lián)網(wǎng)剃幌,國家政策也在大力支持互聯(lián)

網(wǎng)的發(fā)展锥忿。隨著越來越多的用戶參與淹朋,業(yè)務(wù)場景越來越復(fù)雜杈抢,傳統(tǒng)的單體架構(gòu)已經(jīng)很難滿足互

聯(lián)網(wǎng)技術(shù)的發(fā)展要求惶楼。這主要體現(xiàn)在兩方面歼捐,- -是隨著業(yè)務(wù)復(fù)雜度的提高豹储,代碼的可維護(hù)性钠怯、

擴(kuò)展性和可讀性在降低:二是維護(hù)系統(tǒng)的成本、修改系統(tǒng)的成本在提高刽锤。所以并思,改變單體應(yīng)用

架構(gòu)已經(jīng)勢在必行弄砍。另外音婶,隨著云計(jì)算、大數(shù)據(jù)檐什、人工智能的飛速發(fā)展,對(duì)系統(tǒng)架構(gòu)也提出了

越來越高的要求住册。

微服務(wù),是著名的00 (面向?qū)ο笥桑琌bject Oriented) 專家Martin Fowler提出來的名党,它

是用來描述將軟件應(yīng)用程序設(shè)計(jì)為獨(dú)立部署的服務(wù)的一種特殊方式叹阔。 最近兩年传睹,微服務(wù)在各

大技術(shù)會(huì)議、文章帅掘、書籍上出現(xiàn)的頻率已經(jīng)讓人們意識(shí)到它對(duì)于軟件領(lǐng)域所帶來的影響力堂油。

微服務(wù)架構(gòu)的系統(tǒng)是一一個(gè)分布式系統(tǒng)府框,按業(yè)務(wù)領(lǐng)域劃分為獨(dú)立的服務(wù)單元吱窝,有自動(dòng)化運(yùn)維、

容錯(cuò)兴使、快速演進(jìn)的特點(diǎn)照激,它能夠解決傳統(tǒng)單體架構(gòu)系統(tǒng)的痛點(diǎn),同時(shí)也能滿足越來越復(fù)雜的

業(yè)務(wù)需求俩垃。

1.1單體架構(gòu)及其存在的不足


1.2微服務(wù)


1.3微服務(wù)的不足


二口柳、Spring Cloud 簡介

Spring Cloud 作為 Java 言的微服務(wù)框架,它依賴于 Spring Boot 跃闹,有快速開發(fā)、持續(xù)交付和

容易部署等特點(diǎn)望艺。 Spring Cloud 的組件非常多,涉及微服務(wù)的方方面面,井在開源社區(qū) Spring

Netflix Pivotal 兩大公司的推動(dòng)下越來越完善场靴。本章主要介紹 Spring Cloud ,將從以下方面來講解


2.1微服務(wù)應(yīng)該具備的功能

微服務(wù)咧欣,可以拆分為“微”和“服務(wù)” 字轨帜。“微”即小的意思蚌父,那到底多小才算“微”

呢?可能不同的團(tuán)隊(duì)有不同的答案苟弛。從參與微服務(wù)的人數(shù)來講,單個(gè)微服務(wù)從架構(gòu)設(shè)計(jì)右遭、代碼

開發(fā)、測試窘哈、運(yùn)維的人數(shù)加起來是 10 人才算“微”。那么何為“服務(wù)”呢滚婉?按照“微服務(wù)”

概念提出者 Martin Fowler 給出的定義:“服務(wù)”是 個(gè)獨(dú)立運(yùn)行的單元組件,每個(gè)單元組件運(yùn)

行在獨(dú)立的進(jìn)程中满哪,組件與組件之間通常使用 HTTP 這種輕量級(jí)的通信機(jī)制進(jìn)行通信。


2.2Spring Cloud


2.3Dubbo 筒介

Dubbo是阿里巴巴開源的一個(gè)分布式服務(wù)框架民宿,致力于提供高性能和透明化的RPC遠(yuǎn)程

服務(wù)調(diào)用方案像鸡,以及SOA服務(wù)冶理方案。Dubbo 廣泛用于阿里巴巴的各大站點(diǎn)志群,有很多互聯(lián)

網(wǎng)公司也在使用這個(gè)框架,它包含如下核心內(nèi)容锌云。


三吁脱、構(gòu)建微服務(wù)的準(zhǔn)備

子曰 :“ 工欲善其事,必先利其器”兼贡。說的是做好 件事,準(zhǔn)備工作是非常重要的等曼。本章和

章主要介紹構(gòu)建微服務(wù)前的準(zhǔn)備工作 ,本章介紹開發(fā)環(huán)境的搭建禁谦,下 章講解開發(fā)框架

Spring Boot 的入門 废封。搭建的環(huán)境包括 JDK 的安裝、開發(fā)工具的安裝虱饿,以及項(xiàng)目的構(gòu)建工具触趴。

常見的開發(fā) Spring Cloud 項(xiàng)目的工具包括 MyEclipse IntellJ Idea (簡稱 IDEA )渴肉,強(qiáng)烈推薦使用

IDEA 作為開發(fā)工具。 IDEA Spring Boot 起使用仇祭,個(gè)人認(rèn)為是開發(fā) Java 程序的最佳體驗(yàn)。

本書的案例代碼都是在 IDEA 上開發(fā)的没讲,所以本章介紹的開發(fā)工具也是 IDEA 礁苗。項(xiàng)目的構(gòu)建工

具包括 Apache Maven Gradle , Gradle 一個(gè)基于 Apache Ant Apache Maven 概念的項(xiàng)目

自動(dòng)化構(gòu)建的工具爬凑。兩個(gè)構(gòu)建工具都非常方便试伙,按個(gè)人習(xí)慣來選擇, Apache Maven 的使用

要高 潘靖,所以選擇介紹的構(gòu)建工具為 Apache Maven

3.1JDK的安裝


3.2IDEA的安裝

對(duì)于習(xí)慣了使用Eclipse或者M(jìn)yEclipse的開發(fā)者來說蚤蔓,可能不愿意換新的IDEA,因?yàn)樾?/p>

要花時(shí)間去學(xué)習(xí),還要去適應(yīng)新的開發(fā)工具秀又。個(gè)人覺得,IDEA 比Eclipse 系列好用很多凄贩,它

帶來了不一一樣的開發(fā)體驗(yàn)袱讹,主要體現(xiàn)在以下5個(gè)方面。

1.有對(duì)用戶更加友好的界面捷雕, 有更加護(hù)眼的黑色主題壹甥,感覺更高端大氣。

2.比Eclipse更加智能句柠,主要體現(xiàn)在代碼的補(bǔ)全方面棒假。

3.更加友好的代碼提 示功能精盅。

4.內(nèi)置 Maven、Gradle 等構(gòu)建工具叹俏,并且下載依賴包非常智能和流暢。

5.更加強(qiáng)大的糾錯(cuò)能 力屡谐。

雖然蝌数,Eclipse 和IDEA都能開發(fā)出Java項(xiàng)目,Eclipse 也非常好用籽前,但兩者的寫代碼體驗(yàn)

不在一個(gè)級(jí)別上。IDEA 具有更友好的界面和更智能的代碼提示枝哄,以及更強(qiáng)大的糾錯(cuò)能力,所

以IDEA寫代碼體驗(yàn)更好众羡、效率更高蓖租。建議讀者用IDEA來開發(fā)Java 項(xiàng)目,本書所有的代碼都

是用IDEA來寫的蓖宦。

四、開發(fā)框架 Sp ig Boot

Spring Boot 是由 Pivotal 團(tuán)隊(duì)開發(fā)的 Spring 框架柠偶,采用了生產(chǎn)就緒的觀點(diǎn) 睬关,旨在簡化配置诱担,

致力于快速開發(fā)电爹。 Spring Boot 框架提供了自動(dòng)裝配和起步依賴攀痊,使開發(fā)人員不需要配置各種

xml 文件峡谊。通過這種方式,極大地提高了程序的開發(fā)速度施籍。因此, Spring Boot 被認(rèn)為是新

Web 開發(fā)框架苔货。

在過去的 Spring 發(fā)中立哑,需要引入大量的 ml 文件 Spring 2.5 引入了包掃描,消除了

式的配置 Beano Spring 3.0 又引入了基于 JavaBean 的配置铛绰,這種方式可以取代 xml 文件。盡

管如此敢会,在實(shí)際的開發(fā)中還是需要配置 xml 文件这嚣,例如配 SpringMVC 事務(wù)管理器鸥昏、過濾

器姐帚、切面等。

在項(xiàng)目的開發(fā)過程中膳汪,會(huì)引入大量的第 方依賴九秀,選擇依賴是 件不容易的事,解決依賴

與依賴之間的沖突也很耗費(fèi)精力鼓蜒。所以,在以前的 Spring 開發(fā)中晴音,依賴管理也是 件棘手的

事情柔纵。

4.1Spring Boot 的特點(diǎn)

對(duì)比之前的 Spring, Spring Boot 三大特點(diǎn) :自動(dòng)配置、起步依賴和 Actuator 運(yùn)行狀

態(tài)的監(jiān)控或详。

4.2用IDEA構(gòu)建 Spring 則工程


五、服務(wù)注冊(cè)和發(fā)現(xiàn) Eureka

“Eureka”來源于古希臘詞匯椒振,意為“發(fā)現(xiàn)了”梧乘。在軟件領(lǐng)域澎迎,Eureka 是Netlix在線影片

公司開源的一個(gè)服務(wù)注冊(cè)與發(fā)現(xiàn)的組件选调,和其他Netflix公司的服務(wù)組件( 例如負(fù)載均衡、熔

斷器哮洽、網(wǎng)關(guān)等) - 起弦聂, 被Spring Cloud社區(qū)整合為Spring Cloud Netlix模塊。

本章將從以下4個(gè)方面來講解服務(wù)注冊(cè)與發(fā)現(xiàn)模塊Eureka莺葫。

口Eureka 簡介。

口編寫一個(gè) Eureka注冊(cè)和發(fā)現(xiàn)的例子捺檬。

口深入理解 Eureka。

口編寫高可用 的Eureka Server树绩。

5.1Eureka簡介

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隐轩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瘫俊,更是在濱河造成了極大的恐慌悴灵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件积瞒,死亡現(xiàn)場離奇詭異,居然都是意外死亡叮喳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門畔濒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人侵状,你說我怎么就攤上這事毅整。” “怎么了毛嫉?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長暴区。 經(jīng)常有香客問我辛臊,道長,這世上最難降的妖魔是什么彻舰? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮隔心,結(jié)果婚禮上尚胞,老公的妹妹穿的比我還像新娘。我一直安慰自己笼裳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布拜轨。 她就那樣靜靜地躺著允青,像睡著了一般橄碾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天皆串,我揣著相機(jī)與錄音,去河邊找鬼恶复。 笑死速挑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的姥宝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼套么,長吁一口氣:“原來是場噩夢啊……” “哼碳蛋!你這毒婦竟也來了胚泌?” 一聲冷哼從身側(cè)響起肃弟,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤笤受,失蹤者是張志新(化名)和其女友劉穎穷缤,沒想到半個(gè)月后箩兽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡快耿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年芳绩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搪花。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖撮竿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幢踏,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布僚匆,位于F島的核電站搭幻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏檀蹋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一攻臀、第九天 我趴在偏房一處隱蔽的房頂上張望纱昧。 院中可真熱鬧刨啸,春花似錦识脆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至的猛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卦尊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工忿薇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人署浩。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像炊汤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子婿崭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容