我的微服務(wù)探索之路

microservices

我的微服務(wù)架構(gòu)探索之路,接下來(lái)所有內(nèi)容圍繞 Spring Cloud Dalston.SR2 總結(jié) ,工作繁忙我會(huì)每天更新一點(diǎn)點(diǎn)~ 你的Start 是對(duì)我最大的鼓勵(lì),謝謝乖菱。

什么是微服務(wù)舱馅?

微服務(wù)一詞來(lái)源于 Martin Fowler的名為Microservices的博文败匹,文章地址:http://martinfowler.com/articles/microservices.html 通俗的講微服務(wù)就是系統(tǒng)架構(gòu)上的一種設(shè)計(jì)風(fēng)格经柴,它的思想是將一個(gè)獨(dú)立的系統(tǒng)拆分成多個(gè)小型服務(wù)毅贮,這些服務(wù)在各自獨(dú)立的進(jìn)程中運(yùn)行,服務(wù)之間基本http restful api 或者消息中間件通信協(xié)作,被拆分成的小服務(wù)都圍繞著系統(tǒng)中的某一項(xiàng)或者一些耦合度較高的業(yè)務(wù)功能進(jìn)行構(gòu)建(每個(gè)服務(wù)是獨(dú)立部署的)由于有了輕量級(jí)的通信協(xié)議作為基礎(chǔ),所以這些微服務(wù)可以使用不同的語(yǔ)言來(lái)編寫(xiě)蝗拿。

與單體系統(tǒng)的區(qū)別

在以往傳統(tǒng)的企業(yè)系統(tǒng)架構(gòu)中,我們針對(duì)一個(gè)復(fù)雜的業(yè)務(wù)需求通常使用對(duì)象或業(yè)務(wù)類(lèi) 型來(lái)構(gòu)建一個(gè)單體項(xiàng)目蒿涎。在項(xiàng)目中我們通常將葙求分為三個(gè)主要部分:數(shù)據(jù)庫(kù)哀托、服務(wù)端處理、前端展現(xiàn)劳秋。在業(yè)務(wù)發(fā)展初期仓手,由于所有的業(yè)務(wù)邏輯在一個(gè)應(yīng)用中,開(kāi)發(fā)玻淑、測(cè)試俗或、部署 都還比較容結(jié)且方便。但是岁忘,隨著企業(yè)的發(fā)展,系統(tǒng)為了應(yīng)對(duì)不同的業(yè)務(wù)需求會(huì)不斷為該 單體項(xiàng)目增加不間的業(yè)務(wù)模塊:?jiǎn)枙r(shí)隨著移動(dòng)端設(shè)備的進(jìn)步区匠,前端展現(xiàn)揆塊己經(jīng)不僅僅局限于Web的形式干像,這對(duì)于系統(tǒng)后端向前端的支持需要更多的接口模塊。單體應(yīng)用由于面對(duì)的業(yè)務(wù)需求更為寬泛驰弄,不斷擴(kuò)大的需求會(huì)使得單體應(yīng)用變得越來(lái)越臃腫麻汰。單體應(yīng)用的問(wèn)題就逐漸凸顯出來(lái),由于單體系統(tǒng)部署在一個(gè)進(jìn)程內(nèi)戚篙,往往我們修改了一個(gè)很小的功能五鲫,為 /部署上線(xiàn)會(huì)影響其他功能的運(yùn)行?并且,單體應(yīng)用中的這些功能模塊的使用場(chǎng)景岔擂、并發(fā)量位喂、消耗的資源類(lèi)型都各有不同,對(duì)于資源的利用又互相影響乱灵,這樣使得我們對(duì)各個(gè)業(yè)務(wù) 模塊的系統(tǒng)容量很難給出較為準(zhǔn)確的評(píng)估.所以塑崖,單體系統(tǒng)在初期雖然可以非常方便地進(jìn)行開(kāi)發(fā)和使用,但是隨著系統(tǒng)的發(fā)展痛倚,維護(hù)成本會(huì)變得越來(lái)越大规婆,且難以控制.為了解決單體系統(tǒng)變得龐人臃腫之后產(chǎn)生的難以維護(hù)的問(wèn)題.微服務(wù)架構(gòu)誕生了并被 大家所關(guān)注。我們將系統(tǒng)中的不同功能模塊拆分成多個(gè)不同的服務(wù),這些服務(wù)都能夠獨(dú)立 部署和擴(kuò)展抒蚜,由于每個(gè)服務(wù)都運(yùn)行在自己的進(jìn)程內(nèi)掘鄙,在部署上有穩(wěn)固的邊界,這樣毎個(gè)服務(wù)的更新都不會(huì)影響其他服務(wù)的運(yùn)行嗡髓,同時(shí)操漠,由于是獨(dú)立部署的,我們可以更準(zhǔn)確地為每 個(gè)服務(wù)評(píng)估性能容量,通過(guò)配合服務(wù)間的協(xié)作流程也可以更容易地發(fā)現(xiàn)系統(tǒng)的瓶頸位置器贩,以及給出較為準(zhǔn)確的系統(tǒng)級(jí)性能容最評(píng)估颅夺。

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

優(yōu)點(diǎn)

  • 1、各服務(wù)獨(dú)立部署蛹稍,對(duì)開(kāi)發(fā)更為敏捷
  • 2吧黄、跨平臺(tái)且統(tǒng)一用resful風(fēng)格接口規(guī)范
  • 3、服務(wù)可撥插唆姐,易于擴(kuò)展
  • 4拗慨、易于測(cè)試
  • 5、分散式管理奉芦,彼此松耦合
  • 6赵抢、高可用、負(fù)載均衡

缺點(diǎn)

  • 1声功、微服務(wù)的粗細(xì)粒度沒(méi)統(tǒng)一標(biāo)準(zhǔn)
  • 2烦却、架構(gòu)與設(shè)計(jì)需要學(xué)習(xí)一些新的技術(shù)
  • 3、分布式架構(gòu)下必須滿(mǎn)足CAP定律.
  • 4先巴、運(yùn)維難度提高

Spring Cloud 簡(jiǎn)介

Spring Cloud是一個(gè)基于Spring boot實(shí)現(xiàn)的微服務(wù)架構(gòu)開(kāi)發(fā)工具其爵。Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)伸蚯,斷路器摩渺,智能路由,微代理剂邮,控制總線(xiàn))摇幻。分布式系統(tǒng)的協(xié)調(diào)導(dǎo)致了樣板模式, 使用Spring Cloud開(kāi)發(fā)人員可以快速地支持實(shí)現(xiàn)這些模式的服務(wù)和應(yīng)用程序。他們將在任何分布式環(huán)境中運(yùn)行良好挥萌,包括開(kāi)發(fā)人員自己的筆記本電腦绰姻,裸機(jī)數(shù)據(jù)中心,以及Cloud Foundry等托管平臺(tái)瑞眼。

Spring Cloud 特性

Spring Cloud專(zhuān)注于提供良好的開(kāi)箱即用經(jīng)驗(yàn)的典型用例和可擴(kuò)展性機(jī)制覆蓋龙宏。

  • 分布式/版本化配置
  • 服務(wù)注冊(cè)和發(fā)現(xiàn)
  • 路由
  • service - to - service調(diào)用
  • 負(fù)載均衡
  • 斷路器
  • 分布式消息傳遞

微服務(wù)組件

組件簡(jiǎn)述

組件 簡(jiǎn)述 備注
Eureka 微服務(wù)注冊(cè)中心
Ribbon 微服務(wù)負(fù)載均衡
Hystrix 微服務(wù)容錯(cuò)保護(hù)
Feign 微服務(wù)聲明式服務(wù)調(diào)用
Zuul 微服務(wù)API網(wǎng)關(guān)
Config 微服務(wù)分布式配置中心
Bus 微服務(wù)消息總線(xiàn) RabbitMQ安裝
Stream 微服務(wù)消息驅(qū)動(dòng)
Sleuth 微服務(wù)分布式跟蹤
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市伤疙,隨后出現(xiàn)的幾起案子银酗,更是在濱河造成了極大的恐慌辆影,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黍特,死亡現(xiàn)場(chǎng)離奇詭異蛙讥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)灭衷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)次慢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人翔曲,你說(shuō)我怎么就攤上這事迫像。” “怎么了瞳遍?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵闻妓,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我掠械,道長(zhǎng)由缆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任猾蒂,我火速辦了婚禮均唉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘肚菠。我一直安慰自己舔箭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布蚊逢。 她就那樣靜靜地躺著限嫌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪时捌。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天炉抒,我揣著相機(jī)與錄音奢讨,去河邊找鬼。 笑死焰薄,一個(gè)胖子當(dāng)著我的面吹牛拿诸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播塞茅,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼亩码,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了野瘦?” 一聲冷哼從身側(cè)響起描沟,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤飒泻,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后吏廉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泞遗,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年席覆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了史辙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡佩伤,死狀恐怖聊倔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情生巡,我是刑警寧澤耙蔑,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站障斋,受9級(jí)特大地震影響纵潦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜垃环,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一邀层、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧遂庄,春花似錦寥院、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至霹肝,卻和暖如春估蹄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沫换。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工臭蚁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讯赏。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓垮兑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親漱挎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子系枪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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