国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

過去十年最大的架構錯誤,微服務又被潑冷水了!

原創 精選
開發 架構
在微服務如日中天的幾年中,很多公司都嘗試進行了微服務轉型。彼時,微服務架構提供了一種新穎的重構現有系統的方法,并以提供模塊化、可擴展性、可用性的能力成為軟件開發行業的新寵。

撰稿丨千山

自微服務這個概念誕生以來,就伴隨著諸多熱議。人們要么愛它,要么恨它,似乎沒有什么中間地帶。

在微服務如日中天的幾年中,很多公司都嘗試進行了微服務轉型。彼時,微服務架構提供了一種新穎的重構現有系統的方法,并以提供模塊化、可擴展性、可用性的能力成為軟件開發行業的新寵。

但任何一種架構都不會是適配所有問題的萬能鑰匙,微服務也不例外。近年來,一些公司放棄微服務實踐、選擇退回單體架構的消息也不時出現在大眾視野。不久前,GitHub前CTO Jason Warner更是直接在推特上表示,“我確信過去十年中,最大的架構錯誤之一就是全面使用微服務。”一時掀起漣漪無數。

我們知道,微服務不會適用于所有公司,但無論是選擇它還是放棄它,其背后的根由依舊值得深思。

1、為什么我們選擇微服務

2003年左右,諸如DDD和EIP之類的軟件設計開始流行,一些團隊嘗試將應用程序開發為模塊化服務,但傳統的基礎結構對模塊化部署并不友好。而隨著云計算的發展,云托管的普及,像Heroku這樣的平臺又為模塊化部署提供了便利。這也為微服務打造細粒度和可重用的功能提供了可能性。

傳統的單體架構優缺點都很鮮明,優勢在于早期開發簡單,易于對程序做重大更改,但隨著業務發展也會逐漸暴露出開發效率低下,伸縮性差,缺乏故障隔離等問題,淪為“單體地獄”。

微服務的出現則提供了一種架構思維上的新解:將其中服務按照業務域分為多個塊,相應地,代碼可以被分解成更小的部分,可以獨立地開發、測試、部署和更新。它提供了復雜應用程序的持續交付,使應用程序更易于理解,開發,測試,并且對架構侵蝕更具彈性。尤其在開發大型應用程序時,這種優勢會愈發突出。

在微服務相關的推薦文章中,對微服務的褒獎大體可歸因為以下幾種:

保證服務的可伸縮性:由于每個服務都是獨立的組件,因此可以使用更多容器部署擴展,從而實現更有效的容量規劃。

降低耦合簡化了團隊協作:單一用途設計意味著它們可以由較小的團隊構建和維護。每個團隊可以是跨職能的,同時也可以專注于解決方案中的一個微服務子集。

改善了故障隔離:在微服務架構中,如果單個模塊受到影響,則可以輕松拆卸或解決,而不會影響應用程序的其他部分。

易于修改技術堆棧:通過微服務,軟件開發公司可以在特定組件上嘗試新的堆棧或最新技術。由于沒有依賴性問題,軟件開發人員可以避免使用特定的技術堆棧。大數據世界中的各種技術,包括開源社區,在微服務架構中都能很好地工作。

提升開發效率提高生產力:不同的團隊同時處理不同的組件,而無需等待一個團隊完成任務。從而提升工作效率,加快產品發布速度。

可以肯定的是,以微服務架構搭建的系統提供了大量的好處,比如獨立部署、強大的子系統邊界、保障了技術多樣性等等,這也是微服務架構一度為眾多公司所青睞的原因。不過,凡事一體兩面,微服務架構同樣有其弊端。

2、我們需要的不是微服務,而是模塊

微服務在解決了很多單體架構的痼疾后也帶來了其他挑戰。我們可以列舉其中幾個:

首先,判斷是不是適合微服務化,也要看具體的業務場景。如果只是為了拆分而拆分,那無疑沒有意義。而且微服務在設計上也更為復雜,比如,拆成幾個微服務?新需求來了,是新建一個微服務還是在老系統上改造?都需要綜合考量。可以說,一個設計糟糕的微服務架構比一個設計糟糕的單體架構要麻煩得多。

其次,提高了開發的技術門檻。鑒于微服務是一個分布式系統,它也帶來了開發分布式應用程序相關的復雜性的代價,比如獨立的數據模型、微服務之間的彈性通信、最終一致性和操作復雜性等。開發和運行大規模的分布式服務并非易事。隨著企業發展而擁有的分布式系統,引入數十個微服務進行推理已經很難了,更不用說數百個各有風險的微服務。

再者,增加了運維的復雜性。某種程度上,微服務所提供的敏捷性和開發效率是以增加操作復雜性為代價的。服務被拆成了多個微服務,每個微服務又會部署很多套,人肉運維顯然就不合適了。另外,所有服務可能都需要群集以實現故障轉移和彈性。你的系統可能具有數十個單獨的組件,并且在添加新功能時,它將變得越來越復雜。

在稍稍權衡了微服務的褒貶兩面時,我們需要重新審視的是,當談起微服務時,我們看重的到底是什么;當我們選擇微服務時,我們關注的核心到底是什么。

其實,在上文中列舉的關于微服務的優點中,稍加留心就可以發現,其中大半論點都折射出了一個共同的主題:創建和維護小的、獨立的代碼和數據“塊”的想法,它們彼此分開,使用公共的輸入和輸出來實現更大的系統集成。所有都指向了微服務的本質關鍵詞——模塊。

太陽底下無新事。

自20世紀70年代以來,“模塊”這個概念一直是大多數編程語言的核心。CLR (c#, f#, Visual Basic…)上的“程序集”,JVM (Java, Kotlin, Clojure, Scala, Groovy…)上的“jar”或“包”,或者操作系統的動態鏈接庫(Windows上的dll, sos或*nixes上的dll,當然macOS有隱藏在/Library目錄中的“框架”)。不管形式如何,在概念層面上,它們都是模塊。它們都有不同的內部格式,但都有相同的基本目的:可以重用的,獨立被構建、被管理、被部署的代碼單元。

來自David Parnas的論文《關于將系統分解為模塊的標準》寫于1971年,其中定義良好的“獨立的、不同的程序模塊”涵蓋了微服務本質上的多數優點。可以說,對于系統“模塊化”的追求已經有半個世紀的悠久歷史。那么微服務又為何會引來諸多追捧呢?因為微服務與其說是解決了技術的問題,更多的是解決了人的問題,其關鍵詞不是服務,也不是分布式系統,而是組織清晰度。

3、是架構問題,更是“人”的問題

如果你做過微服務相關工作的話,那么可能聽說過“康威定律”。這是Melvin Conway在1967年提出的一個觀點,大致意思是一個組織的系統通常被設計成這個組織溝通結構的副本。

organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.

—?M. Conway

簡言之,你想要什么樣的系統設計,就架構什么樣的團隊。解決方案是是圍繞團隊結構(和團隊通信開銷)進行“優化”的,而不一定是為了解決特定的技術或性能問題。最好通過業務來劃分團隊,如此一來,能讓團隊自然的自治自洽,明確業務邊界會減少跨界的溝通成本,每個小團隊都對自己的模塊的整個生命周期負責,權責明確,沒有無效的扯皮推諉踢皮球。

微服務可以說會在一定程度上倒逼組織結構。通常IT公司的崗位會劃分為產品、開發、測試、運維等等,有些公司甚至會劃分成不同部門。一個需求從開發到上線,會在不同部門間不斷流轉,而微服務化往往是為了加速業務響應,減少開發團隊所面臨的依賴關系。

在微服務架構下,其組織架構也必然要做出相應調整,這個團隊要么必須由各種具備不同技能的人員組合而成,要么每個團隊成員具備完整的技能(所謂的 "全棧式開發")。同時這個團隊也要對一個或多個微服務的迭代和運維負責。當然,康威定律的收益在很大程度上依賴于在哪里劃分邊界以及這些邊界隨時間的推移該如何變化。

所以說在嘗試微服務之前,首先要考慮清楚的是,是否真的需要減少開發團隊所面臨的依賴關系,團隊對他們正在嘗試構建的東西是否有清晰的愿景,以及是否愿意承擔可能因此導致的風險。

軟件服務公司InVision的技術架構經歷了從微服務合并回單體架構的過程,其技術人員Ben Nadel曾如此描述這種抉擇的原因:

“多年來,InVision必須要從組織和基礎設施方面進行發展。這意味著,在其背后,有一個較老的‘遺留’平臺和一個不斷發展的‘現代’平臺。隨著越來越多的團隊遷移至‘現代’平臺,這些團隊之前負責的服務則要移交給剩下的‘遺留’團隊。”

遺憾的是,Ben Nadel的團隊就是“遺留”團隊。“這個團隊已經緩慢,但穩定地負責越來越多的服務。這意味著:人數變少了,但是代碼倉庫變多了,編程語言變多了,數據庫變多了,監控儀表盤變多了,錯誤日志變多了。”

簡而言之,康威定律為組織帶來的所有收益,隨著時間的推移,都變成“遺留”團隊的負債。“所以,我們一直在努力‘調整’責任域,讓平衡回歸康威定律。或者,換句話說,我們在嘗試改變服務邊界以匹配團隊的邊界。這意味著,將微服務重新合并為單體架構。”

正因為微服務不只是涉及到技術架構的問題,當它牽涉到“人”的問題時,往往會導致“水能載舟亦能覆舟”的效果。

4、結語

很多公司嘗試過微服務轉型,有的轉型成功,有的中途放棄。原因多種多樣,畢竟采用微服務,實際是在轉移復雜性,而不是消解復雜性。

如果你的系統不夠大,團隊成員不同多,現有的技術架構完全可以滿足業務需求,那就根本沒必要選擇微服務。微服務的重點從來不是“微”,而是成為“大小合適”的服務,負責“合適數量”的功能。這里的合適也并非靜態標準,它往往取決于團隊的技能集、組織狀態、投資回報率等多重因素。更重要的是,這也并非是單純的技術領域的選擇,同樣是關于“人”和“組織”結構之間的取舍。

參考鏈接:

??https://www.163.com/dy/article/HQAEF6QN0542QSJ0.html??

??https://www.ydisp.cn/developer/134459.html??

??http://www.manongjc.com/detail/58-hsmkfdtnfspyabi.html??

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2023-02-23 07:50:23

微服務SQL架構

2022-03-18 13:46:20

物聯網數據技術

2018-06-27 07:18:27

2018-06-28 23:20:51

2019-12-25 08:00:00

開源Chrome物聯網

2013-08-27 10:25:54

微軟鮑爾默蓋茨

2010-08-16 09:09:40

Linux安全

2010-03-11 10:18:34

十大技術事件

2011-05-31 10:41:13

ARM服務器

2012-04-01 13:36:07

2015-06-09 11:15:01

開源OpenStack

2010-11-23 11:46:46

2020-02-24 19:20:57

Linux內核代碼

2011-11-28 09:05:01

JavaScriptDart微軟

2018-09-26 14:00:09

人工智能區塊鏈投資

2024-02-05 10:10:06

Vue策略編譯

2019-12-13 16:08:57

戴爾

2016-11-17 14:54:49

云計算安全性可用性

2019-12-24 08:19:11

數據泄露漏洞信息安全

2021-05-10 07:30:33

Google技術谷歌
點贊
收藏

51CTO技術棧公眾號

在线观看一区不卡| 九九久久99| 亚洲精品欧美二区三区中文字幕| 欧美日韩一区二| 国内亚洲精品| 91精品国产99久久久久久| 伊人久久高清| 国产精品中文有码| 精品国产乱码久久久久久蜜柚| 精品国产日韩欧美| 欧美一区二区三区免费观看| 精品国产一级| 久久精品国产亚洲| 亚洲一二三区av| 成人一区二区三区视频在线观看| 蜜桃狠狠色伊人亚洲综合网站| 麻豆免费在线视频| 五月天中文字幕一区二区| 91老司机在线| 日韩国产一区| 欧美喷潮久久久xxxxx| 免费在线成人av电影| 国模大胆一区二区三区| 成人免费看吃奶视频网站| 成人精品亚洲| 成人一区二区电影| 欧美欧美天天天天操| 日韩欧美中文一区二区| 国产在线观看黄| 亚洲欧美日韩视频二区| 亚洲老板91色精品久久| 动漫一区二区| 亚洲精品一区二区网址| 丝袜美腿一区| 色综久久综合桃花网| 亚洲精品一区国产| 国模吧一区二区三区| 自拍视频一区| 国产91亚洲精品一区二区三区| 国产精品日韩久久久| 黄色小视频大全| 久久久精品免费免费| 黄色毛片av| 欧美aaaaa成人免费观看视频| 中文字幕久久亚洲| 国产日本亚洲| 91久久一区二区| 在线视频自拍| 亚洲欧美激情在线视频| 国产精品3区| 国产精品aaa| 51精品视频| 亚洲人成在线观看| 欧美大片欧美激情性色a∨久久| 中文字幕视频精品一区二区三区| 日韩在线视频国产| 国内一区二区在线视频观看| 中文亚洲免费| 国产九色porny| 亚洲人成网站在线| 浪潮av一区| 美女精品久久久| 天天射综合网站| 欧美一区二区成人| 免费一级欧美在线大片| 成人黄色av网站| 国模无码大尺度一区二区三区| 日韩毛片在线免费看| 国精品一区二区| 美女黄色片网站| 最新久久zyz资源站| 中文字幕日韩一区二区三区不卡| 欧美亚洲精品在线| 欧美中日韩免费视频| 小说区图片区色综合区| 精品久久蜜桃| 国产欧美久久久精品影院| 亚洲在线欧美| 亚洲国内欧美| 黄色成人在线看| 日韩电影在线观看一区| 黄色aaa级片| 91精品欧美福利在线观看| 亚洲精品少妇久久久久久| 日韩视频免费观看高清完整版在线观看 | a级毛片免费观看在线| 欧美成人第一页| 日韩一级在线| 黄色av观看| 色悠悠国产精品| 国产农村妇女精品一区二区| 五月综合网站| 欧美高清在线视频| 制服丝袜在线播放| 国产成人在线视频| 国产精品一区免费视频| 全部a∨一极品视觉盛宴| 久久亚洲一区二区三区四区| av影片免费在线观看| 5252色成人免费视频| 国产激情视频一区二区三区欧美| 俺也去精品视频在线观看| 欧美一区二区麻豆红桃视频| av在线播放天堂| 欧美亚洲一区三区| 偷拍视屏一区| 国产麻花豆剧传媒精品mv在线| 成人午夜av电影| 成人国产免费电影| 亚洲a级在线观看| 一区二区三区四区亚洲| 日韩三级不卡| 无码人妻少妇伦在线电影| 亚洲第一黄色网| 欧美成人免费全部网站| 欧美日韩免费高清| 91成人免费在线| 成人一区而且| 国产男女爽爽爽| 久久久久国色av免费观看性色| 国产揄拍国内精品对白| 免费成人在线视频网站| 欧美成人一区二区三区| 亚洲福利专区| 国产精品ⅴa有声小说| 欧美四级电影网| 欧美午夜精品一区二区三区电影| 成人h动漫在线| 亚洲男人天堂网站| 精品一区二区成人精品| 丁香花在线电影小说观看| 欧美日本韩国国产| 午夜欧美精品久久久久久久| 国产高清在线精品一区二区三区| 亚洲日本在线看| 深爱激情久久| 日韩三级在线播放| 欧美三级午夜理伦三级中视频| 欧美日韩国产成人精品| 涩涩视频在线观看免费| 国产精品视频一区二区高潮| 黄色另类av| 国产精品免费播放| 国产伦精品一区二区三毛| 国产一区二区三区四 | 亚洲一区二区三区视频在线| 羞羞色国产精品网站| 毛片.com| 亚洲xxx自由成熟| 69精品人人人人| 精品一区二区三区在线观看国产| 深夜福利视频一区二区| 欧美在线激情网| 在线电影一区| 国产区视频在线| 日韩精品一区二区三区丰满| 日韩精品黄色网| 日韩国产欧美| 欧洲成人av| 久久人人九九| 亚洲精品美女久久| 不卡欧美aaaaa| 精品资源在线| 三级视频在线| 日韩精品久久久免费观看| 亚洲天堂免费视频| 国产欧美1区2区3区| 欧美日韩国产一区二区三区不卡| 久草在线免费福利资源| 视频在线99| 亚洲香蕉伊在人在线观| 99国产精品免费视频观看| 黄色网址免费在线观看| 男人c女人视频| 91国产丝袜在线播放| 视频一区中文字幕| 久久精品九色| 国产精品白丝久久av网站| 日韩写真欧美这视频| 色天使久久综合网天天| 欧美一区二区三区四区高清| 亚洲欧美一区二区三区在线| 国产精品视频自在线| 欧美日韩精品免费看| a级黄色小视频| 香蕉加勒比综合久久| 久久精品日韩| 四虎精品欧美一区二区免费| 被灌满精子的波多野结衣| 色婷婷综合久色| 亚洲第一区第一页| 91gao视频| 国产精品成人国产乱一区| 天天干天天干天天干天天干天天干| 欧美精品高清| 国产精品欧美日韩一区| 九九久久精品视频| 精品欧美aⅴ在线网站| 久久免费成人精品视频| 99国产在线观看|