<bdo id="ks4iu"><del id="ks4iu"></del></bdo>
  • 
    <pre id="ks4iu"></pre>
  • <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
    <input id="ks4iu"><em id="ks4iu"></em></input>
    
    
  • <center id="ks4iu"><cite id="ks4iu"></cite></center>
  • 首頁 > 智能影音 >

    微服務(wù)就是一個大泥潭!

    使用微服務(wù)往往是有代價的,而這種代價往往會被低估。

    原文鏈接:https://code-held.com/2022/07/28/microservices/


    (資料圖片)

    作者 | Marcus Held

    譯者 | 彎月 責(zé)編 | 屠敏

    出品 | CSDN(ID:CSDNnews)

    在過去的幾年里,我曾圍繞微服務(wù)這個話題采訪過數(shù)百個人,很多人都自豪地講述了他們使用微服務(wù)架構(gòu)開發(fā)項目的故事。然而,無需太多提問就可以看出他們發(fā)射了一枚大火箭,最后卻只是干掉了一只老鼠。

    微服務(wù)很難。每個接觸過這類架構(gòu)的人都有著痛苦的經(jīng)歷。終有一天,你會被復(fù)雜性淹沒,而且你不得不對架構(gòu)進(jìn)行多次重構(gòu)。我很納悶,為什么這種架構(gòu)對開發(fā)人員如此有吸引力?然后,我想起十年前自己也被這種框架所吸引。

    大多人的共同經(jīng)歷是,他們不得不面對一個遺留下來的單體系統(tǒng),而且整個代碼庫都是一團(tuán)糟。遇到這種情況很令人沮喪。實現(xiàn)需要很長時間,編寫測試很乏味甚至幾乎不可能,理解代碼也很困難,bug 堆積如山,部署也不可靠,每次代碼變更都會引發(fā)問題。重構(gòu)遺留代碼似乎是不可能的,而且一想到這個問題就會讓你覺得頭疼,甚至徹夜難眠。

    這個時候,微服務(wù)就會變得非常具有吸引力。那一刻,小型、可管理、分離的代碼庫會帶給你極大的安全感和解脫感。

    但是,使用微服務(wù)也是有代價的,而且往往容易被低估。

    弊端1:無法正確切分領(lǐng)域

    只有當(dāng)你能夠正確切分領(lǐng)域時,使用微服務(wù)才有效。然而,領(lǐng)域的劃分非常艱難。你需要知道自己構(gòu)建的是什么,但往往大多數(shù)時候我們并不是特別清楚。完全綁定到一個領(lǐng)域,會導(dǎo)致系統(tǒng)的靈活性降低,而這恰恰與你實際的期望背道而馳。

    在切分領(lǐng)域時,有可能你還不清楚產(chǎn)品需求。將來難免會出現(xiàn)一個功能,迫使兩個服務(wù)糾纏在一起,這就導(dǎo)致它們屬于同一個領(lǐng)域,卻還是分布式的。

    弊端2:復(fù)雜性

    雖然剛開始的時候,微服務(wù)的架構(gòu)看起來非常簡單。架構(gòu)師非常確定這種架構(gòu)不會被打破,而且對于團(tuán)隊來說,只需要維護(hù)一個小型代碼庫,感覺很舒服。然而到了部署服務(wù)時,情況就會發(fā)生變化。你需要協(xié)調(diào)一切。儀表板、監(jiān)控系統(tǒng)、日志聚合器、部署、CI 作業(yè)、警報、文檔……而且你引入這些服務(wù)只是因為你的架構(gòu)有這種需求。你需要分布式隊列、共享緩存、共享數(shù)據(jù)庫、服務(wù)發(fā)現(xiàn)、多個負(fù)載均衡器、動態(tài)路由器、API 網(wǎng)關(guān)、中央配置服務(wù)器……

    于是,代碼泥沼變成了基礎(chǔ)設(shè)施泥沼。優(yōu)步這樣的大公司經(jīng)歷過慘痛的教訓(xùn)后,終于意識到了這一點:

    弊端3:過早優(yōu)化

    幾十年來,我們將軟件分割成了各種服務(wù),只不過我們沒有稱它們?yōu)椤拔⒎?wù)”。我們拆分應(yīng)用程序主要有兩個原因。

    首先,這種拆分對組織來說有意義。

    很明顯,我們應(yīng)該建立兩個獨立的團(tuán)隊分別負(fù)責(zé)客戶關(guān)系管理工具和電子商務(wù)平臺,盡管這兩個平臺有時候需要相互交流。這已經(jīng)是一個面向服務(wù)的架構(gòu)。為了實現(xiàn)銷售產(chǎn)品的單一業(yè)務(wù)目標(biāo),我們需要兩項服務(wù)。只不過我們從未稱其為微服務(wù)架構(gòu)。

    其次,為了性能。

    根據(jù)我的經(jīng)驗,受這個原因影響的軟件只有1%。如果只有幾百個用戶,使用垂直擴(kuò)展就可以了。我們開發(fā)的系統(tǒng)有數(shù)以萬計的并發(fā)用戶,這些用戶與系統(tǒng)進(jìn)行了大量交互,但我們?nèi)匀荒軌虼怪睌U(kuò)展。

    我們想要什么?

    我們發(fā)現(xiàn)了一個問題:遺留系統(tǒng)這個巨大的泥潭。可惜微服務(wù)架構(gòu)并不是解決這個問題的正確方法。你需要的是模塊,正確的模塊,因為模塊使得我們很難越界,而且可以根據(jù)需要輕松、獨立地部署模塊。這個概念本身并不新穎,但很多人往往無法正確實施。

    十年前,我想要模塊,卻采納了微服務(wù)架構(gòu),現(xiàn)在是時候結(jié)束這種過度設(shè)計了。

    《2022-2023 中國開發(fā)者大調(diào)查》重磅啟動,歡迎掃描下方二維碼,參與問卷調(diào)研,更有 iPad 等精美大禮等你拿!

    ? 兩萬字長文,史上最全 C++ 年度總結(jié)!

    ? 在 MacOS 上運行 Docker 太慢!

    ? 為了忘卻的紀(jì)念——2022 Linux 內(nèi)核十大技術(shù)革新功能 | 年終盤點

    責(zé)任編輯:Rex_19

    推薦閱讀
    欧美国产在线一区,免费看成年视频网页,国产亚洲福利精品一区,亚洲一区二区约美女探花
    <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
  • 
    <pre id="ks4iu"></pre>
  • <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
    <input id="ks4iu"><em id="ks4iu"></em></input>
    
    
  • <center id="ks4iu"><cite id="ks4iu"></cite></center>
  • 主站蜘蛛池模板: 日本理论在线看片| 男女交性特一级| 日日操天天操夜夜操| 国产成人mv在线播放| 久青草影院在线观看国产| 香蕉视频网站在线观看| 欧美成人777| 国产真实乱人视频| 乱yin合集3| 韩国无遮挡羞羞漫画| 日本一卡二卡≡卡四卡精品| 国产亚洲情侣一区二区无| 久久久国产视频| 色综合久久中文字幕综合网| 无翼乌邪恶工番口番邪恶| 四虎成人精品在永久免费| 亚洲色大成网站www永久男同| eeuss影院www在线观看免费| 深夜a级毛片免费视频| 国产美女精品三级在线观看| 亚洲人成人77777在线播放| av无码免费一区二区三区| 色偷偷狠狠色综合网| 成人中文字幕在线| 先锋影音av资源网| 97精品伊人久久大香线蕉| 欧美日韩高清一区二区三区电影| 国产精品久久久久久久久久久搜索| 亚洲av日韩综合一区尤物| 高清欧美性猛交xxxx黑人猛交| 日本中文在线视频| 全免费毛片在线播放| 两个人日本免费完整版在线观看1 两个人的视频www免费 | 久久亚洲欧美日本精品| 色婷婷天天综合在线| 好男人官网在线播放| 亚洲欧美中文日韩综合| aaa成人永久在线观看视频| 欧美性xxxxx极品娇小| 国产高清国内精品福利| 亚洲一区二区三区不卡在线播放|