在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊一聊微服務(wù)的一些基礎(chǔ)架構(gòu),入門篇

Linux愛好者 ? 來源:lq ? 2019-05-10 16:28 ? 次閱讀

微服務(wù)這幾年不可謂不火,很多技術(shù)團(tuán)隊都開始在自己的項目上引入了微服務(wù)。一方面這些團(tuán)隊確實很好的推動了微服務(wù)的應(yīng)用和發(fā)展,另一方面也可以看到一些盲目追技術(shù)熱點的行為所帶來的危害,比如很多中小團(tuán)隊對微服務(wù)的基礎(chǔ)知識只是做了很淺顯的了解就開始盲目的推動微服務(wù)的實施,最后導(dǎo)致了項目的失敗。

微服務(wù)要想做好是一個非常復(fù)雜的架構(gòu),今天就先只聊一聊微服務(wù)的一些基礎(chǔ)架構(gòu),算是入門篇。

一、什么是「 微服務(wù) 」?

「 微服務(wù) 」由 Martin Fowler 提出,它是指一種軟件架構(gòu)風(fēng)格。一個大型的系統(tǒng)可以由多個微服務(wù)組成,每個微服務(wù)是被獨立部署,獨立完成自己的任務(wù)單元,微服務(wù)之間是通過API方式進(jìn)行通信調(diào)用,是松耦合的。

這個模式聽著是不是很熟悉的感覺?

因為在提出「 微服務(wù) 」概念之前,很多互聯(lián)網(wǎng)公司的中大型項目早就是按照將業(yè)務(wù)拆分成獨立單元的形式在部署和架構(gòu)的,這與微服務(wù)的思路是一脈相通的,只不過實現(xiàn)方式?jīng)]有現(xiàn)在這么規(guī)范與體系。

那「 微服務(wù) 」到底是怎么演變過來的呢?

在做一個新項目的時候,一開始項目大多數(shù)都很小,都是「 單體應(yīng)用 」,這是很常見的做法。在項目規(guī)模小的時候,這種方式開發(fā)效率和運維效率都最高,符合互聯(lián)網(wǎng)公司快速響應(yīng)的要求。

但是隨著業(yè)務(wù)量越來越大,項目也越來越復(fù)雜,開發(fā)團(tuán)隊人員也越來越多。這個時候還采用單體應(yīng)用,問題就會很明顯了。下面挑選兩個最為常見的問題來舉例:

協(xié)同問題:多個人同時開發(fā)一份代碼,在工作協(xié)同上就會經(jīng)常遇到代碼沖突問題。

可用性問題:因為是單體應(yīng)用,即使改個最小的功能,也需要整體發(fā)布,不僅直接影響了線上可用性,還可能會對正常功能帶來風(fēng)險。

為了解決這些問題,大家就開始考慮將「 單體應(yīng)用 」進(jìn)行拆分,進(jìn)行服務(wù)化部署。然后又隨著 Martin Fowler對「 微服務(wù) 」概念的提出,加上 DevOps 的流行,進(jìn)一步促進(jìn)了微服務(wù)的火熱發(fā)展。

「 微服務(wù) 」的理念提倡每個服務(wù)都是單一職責(zé),且每一個服務(wù)都能實現(xiàn)自治,因此可以帶來一些明顯好處:

部署簡單:每個微服務(wù)都可以獨立去部署,方便快捷。

邏輯清晰:將一個獨立功能邏輯封裝在單一微服務(wù)里面,實現(xiàn)整體項目的邏輯清晰。

可擴展:因為可以隨時增加和減少微服務(wù),可以很方便的擴展功能。

可靠性高:某一個功能的異??梢愿綦x在單一微服務(wù)里面,可以提高整體可靠性。

二、「 微服務(wù) 」的架構(gòu)是什么樣?

我們先來看一下「 微服務(wù) 」的架構(gòu)圖:

(圖片來源網(wǎng)絡(luò),粉絲太少就懶得畫圖了,大家發(fā)揮一下想象力將就的看看,哈哈)

看起來挺復(fù)雜對不對,事實上也確實很復(fù)雜。

所以微服務(wù)并不是適用于所有項目、所有團(tuán)隊的。在應(yīng)用之前一定要搞清楚是否適合自己。

要保證這么一套微服務(wù)架構(gòu)能成功運行起來,我們起碼需要以下這些微服務(wù)的基礎(chǔ)組件:

服務(wù)注冊

部署了一個微服務(wù)節(jié)點,得讓調(diào)用者知道啊,當(dāng)微服務(wù)節(jié)點有增加或減少的時候,也得讓調(diào)用者及時知曉啊。這些問題都是通過“服務(wù)注冊”組件來實現(xiàn)的,服務(wù)提供者將自己的服務(wù)地址等信息登記到“服務(wù)注冊”組件中,調(diào)用者需要的時候,每次都先去查詢“服務(wù)注冊”即可。免去人工維護(hù)微服務(wù)節(jié)點的信息同步問題。

服務(wù)網(wǎng)關(guān)

是指提供給外部系統(tǒng)調(diào)用的是統(tǒng)一網(wǎng)關(guān)。主要做安全和權(quán)限控制等。

配置中心

微服務(wù)的配置中心是用來統(tǒng)一管理所有微服務(wù)節(jié)點的配置信息的。因為同一個程序可能要適用于多個環(huán)境,所以在微服務(wù)實踐中要盡量做到程序與配置分離,將配置進(jìn)行集中管理。包括微服務(wù)節(jié)點信息、程序運行時配置、變量配置、數(shù)據(jù)源配置、日志配置、版本配置等。

服務(wù)框架

是指用來規(guī)范各個微服務(wù)節(jié)點之間通信標(biāo)準(zhǔn)的。服務(wù)間通信采用什么協(xié)議、數(shù)據(jù)是如何傳輸?shù)摹?shù)據(jù)格式是什么樣的。有了這個統(tǒng)一的“服務(wù)框架”就能保證各個微服務(wù)節(jié)點之間高效率的協(xié)同。

服務(wù)監(jiān)控

微服務(wù)運行起來之后,為了能夠監(jiān)控節(jié)點的健康情況,保障節(jié)點的高可行,需要對各個服務(wù)節(jié)點進(jìn)行收集數(shù)據(jù)指標(biāo)、然后對數(shù)據(jù)進(jìn)行實時處理和分析,形成監(jiān)控報表和預(yù)警。

服務(wù)追蹤

一旦使用了微服務(wù)架構(gòu),那么當(dāng)有請求過來時,就會經(jīng)過多個微服務(wù)節(jié)點的處理,形成了一個調(diào)用鏈。為了進(jìn)行問題追蹤和故障的定位,需要對請求的完整調(diào)用鏈進(jìn)行記錄。

這里的服務(wù)追蹤與上面的服務(wù)監(jiān)控是不同維度的,一個是全局的,一個是微觀的,發(fā)揮的作用也不一樣。

服務(wù)治理

就是指需要通過準(zhǔn)備一些策略和方案,來保障整個微服務(wù)架構(gòu)在生產(chǎn)環(huán)境遇到極端情況下也能正常提供服務(wù)的措施。比如 熔斷、限流、隔離等等。

當(dāng)然,上述只是一個微服務(wù)架構(gòu)最為核心的基礎(chǔ)組件,一旦微服務(wù)體系過大,例如有幾十上百個微服務(wù)節(jié)點,那么開發(fā)、維護(hù)、測試的成本就會非常大。因此一般還會引入 自動化部署 和 自動化測試 來提高協(xié)同效率。

三、「 微服務(wù) 」入門如何避免踩坑?

你以為微服務(wù)架構(gòu)都是下面這樣的嗎?

事實上,更能是下面這樣的,哈哈。

(圖片來源網(wǎng)絡(luò))

大家都在宣揚「 微服務(wù) 」多么多么的好,例如:易擴展、松耦合、服務(wù)簡單、獨立開發(fā)、易維護(hù)、輕量級等等。雖然這些優(yōu)勢也是事實,但是「 微服務(wù) 」帶來的問題也很多,尤其是對于剛?cè)腴T的團(tuán)隊而言,應(yīng)用微服務(wù)后,趟坑真的可以趟到你崩潰。下面就普及一些常見的問題來給大家打個預(yù)防針:

不是所有項目都適用微服務(wù)

有些項目規(guī)模還比較小,或者項目才剛立項啟動,也只有三四個人負(fù)責(zé)開發(fā)維護(hù),這時候是不建議一上來就搞微服務(wù)架構(gòu)的。這種情況下搞微服務(wù),不僅是“殺雞用牛刀”,而且還無謂的增加了項目的復(fù)雜度,本身一個單體結(jié)構(gòu)就可以搞定的事情,非得拆分N多節(jié)點,人員又不足以支撐這么多節(jié)點的開發(fā)維護(hù),這完全是自找苦吃。反而是等項目成熟了、規(guī)模大了之后,再開始慢慢將原有結(jié)構(gòu)拆為微服務(wù)才是正確的做法。

不要拆分過多過細(xì)的服務(wù)

即使項目經(jīng)過評估后適合拆為微服務(wù)架構(gòu),但也不要過度拆解。有的團(tuán)隊喜歡將項目拆成很細(xì)很細(xì)的顆粒,最后把項目搞的特別復(fù)雜,整個團(tuán)隊都陷進(jìn)去了。

拆分服務(wù)的顆粒度應(yīng)該根據(jù)業(yè)務(wù)發(fā)展和團(tuán)隊現(xiàn)狀綜合去考慮。這里可以參考一個很火的理論「 康威定律 」。什么樣的團(tuán)隊,就產(chǎn)生什么樣的架構(gòu),微服務(wù)拆分的顆粒度是需要和團(tuán)隊結(jié)構(gòu)相匹配的。當(dāng)你著手拆微服務(wù)的時候,得先評估一下團(tuán)隊人員和素質(zhì),一般在開發(fā)期,2-3個人開發(fā)一個服務(wù)是合理的,在維護(hù)期,1個人維護(hù)2-3個服務(wù)也是合理的。

如果拆分過細(xì),開發(fā)人員跟不上,會嚴(yán)重降低大家的工作效率。并且過細(xì)的服務(wù),會導(dǎo)致一個請求的調(diào)用鏈條很長,不僅會影響請求的響應(yīng)時間,也會對線上問題排查帶來增加難度。

沒有DevOps就不要急于微服務(wù)

一個穩(wěn)定的微服務(wù)架構(gòu),是需要 持續(xù)集成、自動化部署、自動化測試、健全的監(jiān)控體系來保障的。如果團(tuán)隊還不具備DevOps,這些基礎(chǔ)的建設(shè)都沒有做好,一上來就搞微服務(wù)的話,就會導(dǎo)致實施過程中問題百出,微服務(wù)的優(yōu)勢不能發(fā)揮。

以上,就是對架構(gòu)設(shè)計中「 微服務(wù)基礎(chǔ) 」的一些思考。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 自動化
    +關(guān)注

    關(guān)注

    29

    文章

    5575

    瀏覽量

    79272
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    514

    瀏覽量

    25470
  • 微服務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    137

    瀏覽量

    7348

原文標(biāo)題:架構(gòu)設(shè)計之「 微服務(wù)入門 」

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    消息隊列技術(shù)選型的7種消息場景

    我們在做消息隊列的技術(shù)選型時,往往會結(jié)合業(yè)務(wù)場景進(jìn)行考慮。今天來消息隊列可能會用到的 7 種消息場景。
    的頭像 發(fā)表于 12-09 17:50 ?1378次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>消息隊列技術(shù)選型的7種消息場景

    微服務(wù)架構(gòu)和CQRS架構(gòu)基本概念介紹

    微服務(wù)架構(gòu)現(xiàn)在很熱,到處可以看到各大互聯(lián)網(wǎng)公司的微服務(wù)實踐的分享總結(jié)。但是,我今天的分享和微服務(wù)沒有關(guān)系,希望可以帶給大家一些新的東西。如果
    發(fā)表于 05-22 09:03

    Altium中Fill,Polygon Pour,Plane的區(qū)別和用法

    Fill會造成短路,為什么還用它呢?來Altium中Fill,Polygon Pour,Plane的區(qū)別和用法
    發(fā)表于 04-25 06:29

    stm32的低功耗調(diào)試

    前言:物聯(lián)網(wǎng)的大部分設(shè)備都是電池供電的,設(shè)備本身低功耗對延長設(shè)備使用至關(guān)重要,今天就實際調(diào)試總結(jié)stm32的低功耗調(diào)試。1、stm32在運行狀態(tài)下的功耗上圖截圖自stm32l15x手冊
    發(fā)表于 08-11 08:18

    平衡小車代碼的實現(xiàn)

    前言今天代碼,只有直立功能的代碼。代碼總體思路給定個目標(biāo)值,單片機通過IIC和mpu6050通信,得知數(shù)據(jù)后,根據(jù)角度環(huán)計算出個P
    發(fā)表于 01-14 08:29

    單片機(入門篇

    單片機(入門篇
    發(fā)表于 03-21 20:51 ?330次下載

    關(guān)于微服務(wù)一些問題的解答

    微服務(wù)確實很受歡迎,但是對于微服務(wù)的誤解也是事實,本文對這些誤解一一來介紹下: 微服務(wù)不夠微? 盡管微服務(wù)定義的很明確,但是開發(fā)者社區(qū)對
    發(fā)表于 10-11 11:27 ?0次下載
    關(guān)于<b class='flag-5'>微服務(wù)</b>的<b class='flag-5'>一些</b>問題的解答

    小米米2月19日停止服務(wù)宣布關(guān)閉服務(wù)

    小米大事件,米將于 2021 年 2 月 19 日 12 點 00 分停止米服務(wù)。 這個時候很多人想的是要趕緊把信息、聊天記錄都導(dǎo)出來;停服后將無法導(dǎo)出用戶在米內(nèi)的任何信息。米
    的頭像 發(fā)表于 01-20 05:43 ?6659次閱讀

    FPGA中的彩色轉(zhuǎn)灰度的算法

    大家好,又到了每日學(xué)習(xí)的時間了,今天我們來FPGA學(xué)習(xí)中可以遇到的一些算法,今天就
    的頭像 發(fā)表于 04-15 15:47 ?1962次閱讀

    微服務(wù)架構(gòu)有哪些_微服務(wù)架構(gòu)設(shè)計模式

    小伙伴們知道常用的微服務(wù)架構(gòu)框架有哪些嗎?上回我們介紹了一些常用的微服務(wù)架構(gòu)設(shè)計模式,這次我們就來了解
    的頭像 發(fā)表于 05-17 17:06 ?2.9w次閱讀
    <b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>有哪些_<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>設(shè)計模式

    【職場雜談】與嵌入式物聯(lián)網(wǎng)架構(gòu)幾個話題

    【職場雜談】與嵌入式物聯(lián)網(wǎng)架構(gòu)幾個話題
    的頭像 發(fā)表于 08-23 09:19 ?1336次閱讀
    【職場雜談】與嵌入式物聯(lián)網(wǎng)<b class='flag-5'>架構(gòu)</b>師<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>幾個話題

    華為云彈性公網(wǎng)IP的那些事兒

    華為云彈性公網(wǎng)IP的那些事兒 如今,企業(yè)上云已成為熱門話題,云可以驅(qū)動流程創(chuàng)新和業(yè)務(wù)創(chuàng)新,成為企業(yè)新的利潤增長點,被看成是企業(yè)實現(xiàn)數(shù)字化轉(zhuǎn)型的必經(jīng)之路。彈性公網(wǎng)IP作為種網(wǎng)絡(luò)基
    的頭像 發(fā)表于 11-21 15:20 ?882次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>華為云彈性公網(wǎng)IP的那些事兒

    設(shè)計微服務(wù)架構(gòu)的原則

    微服務(wù)種軟件架構(gòu)策略,有利于改善整體性能和可擴展性。你可能會想,我的團(tuán)隊需不需要采用微服務(wù),設(shè)計微服務(wù)
    的頭像 發(fā)表于 11-26 08:05 ?596次閱讀
    設(shè)計<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>的原則

    簡單DPT技術(shù)-double pattern technology

    今天想來簡單DPT技術(shù)-double pattern technology,也就是雙層掩模版技術(shù),在目前先進(jìn)工藝下,這項技術(shù)已經(jīng)應(yīng)用的很普遍了。
    的頭像 發(fā)表于 12-05 14:26 ?1891次閱讀

    芯片設(shè)計的NDR是什么?

    今天突然想route相關(guān)的問題,講講NDR是什么,我也梳理總結(jié)下我對NDR的認(rèn)識。
    的頭像 發(fā)表于 12-06 15:14 ?2054次閱讀
    主站蜘蛛池模板: 操女人在线| 国产2021成人精品| 真人一级一级特黄高清毛片| 天堂资源在线播放| 狠狠干狠狠鲁| 精品热99| 色www视频永久免费软件| 999av视频| 四虎黄色网| 特级做a爰片毛片免费看 | 国产tube| 8050午夜| 天堂tv亚洲tv日本tv欧美人tv| 国产五月| 2021天天干| 特级一级黄色片| 91热成人精品国产免费| 欧美人与zoxxxx| 日韩免费网站| 久久国产成人精品国产成人亚洲| 日本高清免费一本视频在线观看| 欧美视频一区二区三区在线观看| 欧美 在线播放| 欧美簧片| 亚洲精品电影天堂网| xxxxxx日本人免费| 国产yw855.c免费观看网站| 日本不卡高清免费v日本| 深夜影院一级毛片| 在线三级播放| 91正在 播放| 午夜激情婷婷| 国产亚洲精品在天天在线麻豆| 在线网站黄| 欧美一区二区三区黄色| 久久97精品久久久久久久看片| 亚洲大尺度视频| 天天视频在线观看免费| 最近2018年在线中文字幕高清| 国产精品久久久久网站| 最猛91大神ben与女教师|