自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Uber 團(tuán)隊(duì)放棄微服務(wù)改用宏服務(wù),網(wǎng)友評(píng)論炸鍋了

新聞 前端
對(duì)于微服務(wù),大多數(shù)開發(fā)者的態(tài)度都是鮮明的,要么熱愛,要么痛恨,很少有人懷抱著比較“曖昧”的態(tài)度。所以,當(dāng) Uber 中的一個(gè)技術(shù)團(tuán)隊(duì)宣布,放棄微服務(wù),轉(zhuǎn)而使用宏服務(wù),網(wǎng)友們就炸鍋了。

 [[322086]]

對(duì)于微服務(wù),大多數(shù)開發(fā)者的態(tài)度都是鮮明的,要么熱愛,要么痛恨,很少有人懷抱著比較“曖昧”的態(tài)度。所以,當(dāng) Uber 中的一個(gè)技術(shù)團(tuán)隊(duì)宣布,放棄微服務(wù),轉(zhuǎn)而使用宏服務(wù),網(wǎng)友們就炸鍋了。

1. Uber 團(tuán)隊(duì)放棄微服務(wù),轉(zhuǎn)為使用宏服務(wù)

不久之前,Uber 支付體驗(yàn)平臺(tái)的工程經(jīng)理 Gergely Orosz 發(fā)布推文表示我們的架構(gòu)方向已經(jīng)發(fā)生了變化。

聲明一下,在 Uber,我們正將許多微服務(wù)轉(zhuǎn)移到 @copyconstruct 所稱的宏服務(wù)(大小適中的服務(wù))。

確切地說,B/C 測(cè)試和維護(hù)成千上萬的微服務(wù)不僅很難——它可能會(huì)帶來更多的長(zhǎng)期麻煩,而不是解決短期問題。

微服務(wù)確實(shí)可以幫助團(tuán)隊(duì)在早期快速推進(jìn)。

等你意識(shí)到服務(wù)越少越好時(shí),已為時(shí)已晚。你需要解決很多服務(wù)的“困難”部分。

我們?cè)诓粩嘣黾痈嗟姆?wù),但也在停止使用服務(wù),并且會(huì)更慎重的思考新的服務(wù)。

@GergelyOrosz:

是的,我們正在這樣做,這個(gè)方法觸及到了很多微服務(wù)的痛點(diǎn)。每項(xiàng)服務(wù)都需要支持租戶,包括很多無狀態(tài)的租戶。

我們還需要對(duì)現(xiàn)有的服務(wù)來進(jìn)行改進(jìn),而針對(duì)新的服務(wù),我們只需從頭開始添加即可。

@GergelyOrosz:

微服務(wù)之前能夠幫助企業(yè)(并且現(xiàn)在仍然幫助)快速行動(dòng)、實(shí)現(xiàn)自治、便于實(shí)驗(yàn)。

一個(gè)領(lǐng)域越成熟,“大小適中的的服務(wù)”就越有意義,就越容易論證。

@GergelyOrosz:

我可能早就該發(fā)一篇關(guān)于微服務(wù)缺點(diǎn)的帖子了。有關(guān)微服務(wù)幸福的蜜月期話題很多,但人們卻很少談及后來與微服務(wù)如何發(fā)生激烈的爭(zhēng)吵,然后又和好,但又改變了一些事情。就只為了一勞永逸。

Gregdoesit:

我寫的那條推文,已經(jīng)流傳開來。一條推文最多只能發(fā) 280 個(gè)字符,寫不了什么太多的東西,而且在 Twitter 上一旦發(fā)布推文就無法編輯,因此,無法再修改補(bǔ)充新的東西,所以我在論壇中詳細(xì)說明一下。

以下內(nèi)容只代表我自己的經(jīng)驗(yàn),代表我所在的團(tuán)隊(duì),而不代表整個(gè) Uber。Uber 有數(shù)百支團(tuán)隊(duì),其中 95% 我都不認(rèn)識(shí)。而且,團(tuán)隊(duì)有自治權(quán),可以決定自己如何做、做什么,所以我也不能一概而論。

Uber 目前仍然擁有成千上萬的微服務(wù)。上一次我查看的時(shí)候,大概有 4000 個(gè)。而且,需要明確的是,這一數(shù)字還在繼續(xù)增長(zhǎng)。

我在 Uber 工作快四年了,看到了我所在領(lǐng)域的一些趨勢(shì)。在過去,我們會(huì)構(gòu)建一個(gè)微服務(wù),它可以完成一件很小的事。我們有一批由一個(gè)人構(gòu)建并維護(hù)的小型服務(wù)。這對(duì)于自治性、迭代速度、學(xué)習(xí)和使 DevOps 成為一個(gè)無需動(dòng)腦的事情都是極好的。你可以隨時(shí)啟動(dòng)一項(xiàng)服務(wù),但你必須隨叫隨到。

現(xiàn)在,隨著領(lǐng)域逐漸成熟,展望未來變得更加容易。我們創(chuàng)建了新的平臺(tái),因此,對(duì)于新的服務(wù)會(huì)進(jìn)行更深思熟慮的規(guī)劃。這些服務(wù)并不僅僅只做一件事:它們服務(wù)于一項(xiàng)業(yè)務(wù)功能。它們是由一個(gè)團(tuán)隊(duì)(5~10 名工程師)構(gòu)建并維護(hù)的。與一些早期微服務(wù)公司相比,它們更具彈性,在開發(fā)和維護(hù)方面得到的投資要多得多。Cindy 調(diào)用了這些宏服務(wù),我說我們也在做類似的事情。我們所做的事情唯一的區(qū)別是,一個(gè)服務(wù)是一個(gè)團(tuán)隊(duì)的,而不是多個(gè)團(tuán)隊(duì)的。

雖然很多微服務(wù)都是這樣發(fā)展的,但坦率地說,大部分微服務(wù)還是保持了原樣。成千上萬的微服務(wù)帶來了很多需要解決的問題。監(jiān)控、測(cè)試、CI/CD、SLA、所有版本的庫(kù)(安全、時(shí)區(qū)問題)等等。一直以來,我們做了一些很好的舉措,并分享一些行之有效的方法,開源我們用來解決問題的一些工具,比如用多租戶方法測(cè)試微服務(wù)、跨服務(wù)的分布式跟蹤。所有這些都是一筆巨大的投資。只有在你準(zhǔn)備好進(jìn)行這項(xiàng)投資的時(shí)候,才能進(jìn)行規(guī)?;奈⒎?wù)。

所以,Uber 并不是像很多人解讀的那樣,沒有使用微服務(wù)。Uber 甚至都不會(huì)減少微服務(wù)的使用。因此,當(dāng)我說 “我們要遷移” 的時(shí)候,這一措辭并不很確切。在我的團(tuán)隊(duì)和組織中,新的微服務(wù)的構(gòu)建都是經(jīng)過深思熟慮才構(gòu)建的。這些新的微服務(wù)比那些早期的、小型的、專注的微服務(wù)“更大”。

微服務(wù)在 Uber 的很多方面都運(yùn)行得很好,并且在其他領(lǐng)域也不斷地提供幫助。當(dāng)然,問題是存在的,但你可以一邊處理問題,一邊解決問題。例如,有數(shù)千名開發(fā)人員的一個(gè)單體,有數(shù)千名開發(fā)人員的 SOA,或者有數(shù)千名開發(fā)人員支持的其它系統(tǒng)。隨著業(yè)務(wù)的發(fā)展,服務(wù)的數(shù)量整體上還是在增長(zhǎng)的,不過在一些組織中,比如我的組織,服務(wù)數(shù)量是幾近不變的,甚至略有下降。但并不是所有的微服務(wù)都是平等的。關(guān)鍵的微服務(wù)看起來不太像經(jīng)典的微服務(wù),或者至少是我?guī)啄昵八f的那種微服務(wù)。

另外說一下,每個(gè)人對(duì) “微服務(wù)” 這一名字的理解都不一樣。我將會(huì)撰寫一篇帖子,總結(jié)我在微服務(wù)領(lǐng)域的經(jīng)驗(yàn)。

譯注:SOA(Service-oriented arhitecture),面向服務(wù)的架構(gòu),是構(gòu)造分布式計(jì)算的應(yīng)用進(jìn)程的方法。它將應(yīng)用進(jìn)程功能作為服務(wù)發(fā)送給最終用戶或者其他服務(wù)。它采用開放標(biāo)準(zhǔn)、與軟件資源進(jìn)行交互并采用表示的標(biāo)準(zhǔn)方式。

Gregdoesit:

Uber 在 2015 年從一個(gè)巨型企業(yè)轉(zhuǎn)變成了一個(gè) SOA。這個(gè) SOA 遵循了一個(gè)基于微服務(wù)的架構(gòu)。而我們也一直在分享這一路上所學(xué)到的東西:構(gòu)建微服務(wù)通常需要的步驟,用多租戶的方法解決測(cè)試問題,或者我們?nèi)绾问褂梅植际礁櫟鹊取N覀冞€開源了一些工具,比如 Jaeger,它和 Kubernetes、Prometheus 都是云原生基金會(huì)(Cloud Native Foundation)的畢業(yè)項(xiàng)目……所有這些都可以作為靈感:但是,你需要在自己的環(huán)境中做出你認(rèn)為最有效的決定。當(dāng)業(yè)務(wù)環(huán)境完全不一樣,任何盲目照搬 Google、Uber/SHopify、Stack Overflow 或其他公司的技術(shù)團(tuán)隊(duì),都會(huì)很失望的。

@copyconstruct:

微服務(wù)很棘手。

構(gòu)建可靠且可測(cè)試的微服務(wù)比大多數(shù)人認(rèn)為的要難得多。

有效地測(cè)試微服務(wù)需要大量的工具和深謀遠(yuǎn)慮。

許多組織不需要 Netflix/ 優(yōu)步那樣的微服務(wù)。

宏服務(wù)?

宏服務(wù):

不是整體式系統(tǒng)

每 3 個(gè)團(tuán)隊(duì)最多只有 20 名開發(fā)人員在開發(fā)服務(wù)(5 個(gè)披薩規(guī)則?)

是否擁有 / 需要整體式代碼倉(cāng)庫(kù)(monorepo)不好說。服務(wù) / 代碼倉(cāng)庫(kù)數(shù)量較少,依賴項(xiàng)管理就變得容易得多(不過仍并非易事)

更好的可觀察性和調(diào)試

2. 網(wǎng)友評(píng)論炸鍋了,有人批評(píng)有人贊揚(yáng)

世界會(huì)因?yàn)槲覀冇辛艘粋€(gè)類似于宏服務(wù)的新品牌術(shù)語,而為之瘋狂。

宏服務(wù)和我們幾十年來所知道的普通服務(wù)有什么不同?幾乎沒有人在乎這個(gè)問題。名字是時(shí)代的產(chǎn)物,大多數(shù)人都在為“微服務(wù)的終結(jié)”而歡呼,認(rèn)為這才是微服務(wù)的最終歸宿。

@sandofsky:

2016 年的 Uber:“我們有成千上萬的微服務(wù)。”

每個(gè)人都說:“這聽起來很瘋狂。”

2020 年的 Uber:“事實(shí)證明,這太瘋狂了。”

@dhh:

過度采用微服務(wù)給人們帶來的痛苦是巨大的。

除了 Majestic Monolith 之外,還應(yīng)該有人寫下 Citadel 的模式:?jiǎn)我?Majestic Monolith 抓住了大部分的應(yīng)用程序,少數(shù)輔助前哨應(yīng)用程序滿足高度專業(yè)化和多樣化的需求。

但也不全是負(fù)面的。

@saikishore001:

我們發(fā)現(xiàn) Bayer 在微服務(wù)方面取得了相當(dāng)大的成功。對(duì)我們來說,唯一一個(gè)大型的單體應(yīng)用就是一場(chǎng)噩夢(mèng)……現(xiàn)在,使用微服務(wù)架構(gòu)就好多了。

@Carnage4Life:

Uber 在 2016 年就大力支持微服務(wù),但現(xiàn)在卻放棄了,這其中有兩點(diǎn)重要的教訓(xùn):

大公司在規(guī)?;纤龅臋?quán)衡,可能并不適合你的初創(chuàng)公司;大公司也會(huì)做出糟糕的架構(gòu)選擇,所以要小心“船貨崇拜”(Cargo cult)。

譯注: 船貨崇拜(Cargo cult)是一種宗教形式,特別出現(xiàn)于一些與世隔絕的原住民中。當(dāng)貨物崇拜者看見外來的先進(jìn)科技物品,便會(huì)將之當(dāng)作神祇般崇拜。最為知名的貨物崇拜,是瓦努阿圖塔納島的 “約翰布魯姆教”(John Frum Movement)。第二次世界大戰(zhàn)太平洋戰(zhàn)爭(zhēng)時(shí),美軍于塔納島創(chuàng)建一臨時(shí)基地。當(dāng)時(shí)島上的原住民看見美軍于 “大鐵船”(軍艦)內(nèi)出來,皆覺得十分驚訝。此外,他們也看到,有一些 “大鐵鳥”(軍用飛機(jī))運(yùn)送穿著美軍軍服的人及許多物資。這些原住民看見這種情況均感到很驚訝,并覺得這些 “大鐵船” 及 “大鐵鳥” 十分厲害。加上美軍也提供部份物資給原住民,而這些物資對(duì)原住民來說十分有用,結(jié)果令這些原住民將美軍當(dāng)作神。此處暗指那些大公司此前也沒有見過或者應(yīng)用過微服務(wù)架構(gòu)。

@adamzethraeus:

Uber 真的只是為了避免協(xié)調(diào)成本,才會(huì)這么做。大致來說,Uber 明確鼓勵(lì)不考慮重用或整合的構(gòu)建。例如,Uber 的中國(guó)團(tuán)隊(duì)復(fù)制了一堆三級(jí)架構(gòu),以更快的速度推進(jìn)。(這在短期內(nèi)很有效?。?/p>

對(duì)于架構(gòu)炒作周期,也有一個(gè)值得考慮的經(jīng)濟(jì)學(xué)論據(jù):

@ridingwithrails:

在互聯(lián)網(wǎng)崩潰和經(jīng)濟(jì)衰退期間,單體應(yīng)用總是贏家。人們意識(shí)到,十個(gè)使用十種不同系統(tǒng)的團(tuán)隊(duì)是很難保持的……再見,F(xiàn)elicia!

@sandofsky:

每一次科技談?wù)摱紤?yīng)該披露他們的風(fēng)險(xiǎn)投資資金消耗率。當(dāng)你把別人的錢花在自己的問題上時(shí),你什么都能逃過一劫。

行業(yè)對(duì)微服務(wù)可能衰落的幸災(zāi)樂禍并不是什么好兆頭。我們需要的做的是集中精力把微服務(wù)用到正處,使用得當(dāng)才是競(jìng)爭(zhēng)的核心。

改變是進(jìn)步的方式,在改變過程中,人為制造沖突矛盾,這對(duì)誰都沒有幫助。Uber 成熟、學(xué)習(xí)、重構(gòu)是一件好事,這并非是承認(rèn)失敗,甚至是早期決策失誤的證據(jù)。

坦率來講,我們對(duì)如何構(gòu)建軟件幾乎一無所知。我相信,微服務(wù)之所以能夠迅速發(fā)展,部分原因在于它為程序員提供了一個(gè)關(guān)于如何構(gòu)建程序的連貫理論。

每個(gè)人都給出自己的微服務(wù)替代方案,但目前并沒有達(dá)成共識(shí),我們沒有系統(tǒng)的理論。希望這次Uber的嘗試,能夠給到我們更多的啟發(fā)。

軟件真是一團(tuán)糟啊。

 

責(zé)任編輯:張燕妮 來源: 架構(gòu)頭條
相關(guān)推薦

2023-02-27 16:24:17

架構(gòu)開發(fā)數(shù)字化

2020-08-18 07:00:00

微服務(wù)開發(fā)架構(gòu)

2019-08-26 09:15:09

設(shè)計(jì)技術(shù)人生第一份工作

2020-01-18 09:35:03

微服務(wù)團(tuán)隊(duì)架構(gòu)

2019-10-21 17:11:47

程序員不完美媽媽跳槽那些事兒

2020-04-14 10:06:20

微服務(wù)Netflix語言

2021-11-18 06:49:36

員工規(guī)范處罰

2023-05-05 00:08:37

AxiosAlova開發(fā)

2017-07-26 18:49:00

京東機(jī)器學(xué)習(xí)人工智能

2023-08-27 21:51:50

Kafka數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)

2015-08-21 09:06:53

SaaS

2015-07-30 09:27:20

DaoCloud

2021-10-17 20:38:30

微服務(wù)內(nèi)存組件

2019-02-25 09:30:00

微服務(wù)代碼小團(tuán)隊(duì)

2024-07-02 10:58:53

2021-12-29 08:30:48

微服務(wù)架構(gòu)開發(fā)

2024-11-06 16:27:12

2022-03-31 08:15:38

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

2023-07-28 09:23:24

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

2018-12-12 09:59:47

微服務(wù)架構(gòu)分布式系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)