精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

開發(fā) 前端
最近,業(yè)界圍繞面向服務(wù)的架構(gòu),尤其是微服務(wù)架構(gòu)的弊端進(jìn)行了大量討論。幾年前,由于許多用戶關(guān)注微服務(wù)架構(gòu)的眾多優(yōu)勢,例如獨(dú)立部署形式的靈活性,明確的所有權(quán),系統(tǒng)穩(wěn)定性的改進(jìn),以及關(guān)注點的更好分離,許多企業(yè)很快采用了微服務(wù)架構(gòu)。

 最近,業(yè)界圍繞面向服務(wù)的架構(gòu),尤其是微服務(wù)架構(gòu)的弊端進(jìn)行了大量討論。幾年前,由于許多用戶關(guān)注微服務(wù)架構(gòu)的眾多優(yōu)勢,例如獨(dú)立部署形式的靈活性,明確的所有權(quán),系統(tǒng)穩(wěn)定性的改進(jìn),以及關(guān)注點的更好分離,許多企業(yè)很快采用了微服務(wù)架構(gòu)。而現(xiàn)在關(guān)于微服務(wù)會大大增加其復(fù)雜性的趨勢,有時甚至使瑣碎的功能也難以構(gòu)建的話題,引發(fā)了不少用戶的討論。

[[335051]]

Uber近年來一直在使用微服務(wù),現(xiàn)在Uber已經(jīng)增長到大約2200個關(guān)鍵微服務(wù),這個過程中Uber做了不少的權(quán)衡。Uber表示,在過去的兩年中,他們嘗試降低微服務(wù)的復(fù)雜性,同時仍保持微服務(wù)架構(gòu)的優(yōu)勢。這篇文章詳細(xì)介紹了Uber對微服務(wù)架構(gòu)的通用方法,Uber將其稱為“面向域的微服務(wù)架構(gòu)”(簡稱:DOMA)。

面對微服務(wù)的不足,批評微服務(wù)架構(gòu)的話題喧囂塵上,但很少有用戶主張完全拒絕微服務(wù)架構(gòu)。因為運(yùn)營收益太重要了,似乎還有針對微服務(wù)的更好替代品。Uber使用DOMA通用方法的目標(biāo)是為降低總體系統(tǒng)復(fù)雜性,同時保持與微服務(wù)架構(gòu)相關(guān)聯(lián)的靈活性的企業(yè),提供微服務(wù)向前發(fā)展的道路。

什么是微服務(wù)?

微服務(wù)是面向服務(wù)的架構(gòu)的擴(kuò)展。與過去大型的整體“服務(wù)”相反,微服務(wù)代表一組范圍狹窄的功能的應(yīng)用程序。這些應(yīng)用程序是托管的,并且可以通過網(wǎng)絡(luò)使用,并公開定義明確的接口。其他應(yīng)用程序通過進(jìn)行“ 遠(yuǎn)程過程調(diào)用 ”(RPC)來調(diào)用這個接口。

微服務(wù)架構(gòu)的關(guān)鍵特征是代碼的托管,調(diào)用和部署方式。如果我們考慮大型的整體應(yīng)用程序,通常會將它們分為具有明確定義的接口的封裝組件。這些接口將被直接稱為進(jìn)程內(nèi)接口,而不是通過網(wǎng)絡(luò)。通過這種方式,我們可以開始將微服務(wù)當(dāng)做具有性能問題(網(wǎng)絡(luò)I/O和序列化/反序列化)的庫,以便調(diào)用其任何功能。

當(dāng)我們以這種方式考慮微服務(wù)時,我們可能會思考為什么我們會完全采用微服務(wù)架構(gòu)?答案通常是獨(dú)立部署和擴(kuò)展。對于大型的整體應(yīng)用程序,企業(yè)不得不一次部署或釋放所有代碼。應(yīng)用程序的每個新版本都可能涉及許多更改,而且部署變得既危險又費(fèi)時。任何差池都可能使整個系統(tǒng)癱瘓。

換句話說,企業(yè)采用微服務(wù)來獲得運(yùn)營的價值,而以性能為代價。企業(yè)還必須承擔(dān)維護(hù)支持微服務(wù)所需的基礎(chǔ)架構(gòu)的成本。事實證明,在很多情況下,這種權(quán)衡是有道理的,但這也是反對過早采用微服務(wù)架構(gòu)的理由之一。

緣起

Uber采用微服務(wù)架構(gòu),因為大約在2012年至2013年,Uber擁有兩個整體服務(wù),并且微服務(wù)的使用解決了許多運(yùn)營問題。

可用性風(fēng)險。單一代碼庫中的單個回歸可以使整個系統(tǒng)癱瘓。

風(fēng)險高昂的部署。由于頻繁需要回滾,因此執(zhí)行這些操作很痛苦且耗時。

關(guān)注點分離差。使用龐大的代碼庫,很難很好地保持關(guān)注點的分離。在指數(shù)增長的環(huán)境中,權(quán)宜有時會導(dǎo)致邏輯和組件之間的邊界不清晰。

執(zhí)行效率低下。這些問題加在一起使團(tuán)隊難以自主或獨(dú)立執(zhí)行。

換句話說,隨著Uber的工程師人數(shù)從10增長到100,擁有多個團(tuán)隊,擁有部分技術(shù)棧的整體式架構(gòu)將團(tuán)隊的命運(yùn)束縛在一起,使其難以獨(dú)立運(yùn)營。

Uber采用了微服務(wù)架構(gòu)之后。最終,系統(tǒng)變得更加靈活,從而使團(tuán)隊更加自治。

系統(tǒng)可靠性。在微服務(wù)架構(gòu)中,總體系統(tǒng)可靠性得到提高。單個服務(wù)可以關(guān)閉(并回滾),而無需關(guān)閉整個系統(tǒng)。

關(guān)注點分離。在架構(gòu)上,微服務(wù)架構(gòu)迫使Uber提出以下問題:“為什么存在這項服務(wù)?”,從而更清楚地定義不同組件的角色。

清除所有權(quán)。誰擁有什么代碼變得更加清楚。服務(wù)通常在個人,團(tuán)隊或企業(yè)級別擁有,從而實現(xiàn)更快的增長。

自主執(zhí)行。獨(dú)立的部署和更清晰的所有權(quán)界限,可釋放各個產(chǎn)品和平臺團(tuán)隊的自主執(zhí)行權(quán)。

開發(fā)人員速度。團(tuán)隊可以獨(dú)立部署代碼,這使他們能夠按照自己的節(jié)奏執(zhí)行。

毫不夸張地說,沒有微服務(wù)架構(gòu),Uber將無法實現(xiàn)今天維持的執(zhí)行規(guī)模和執(zhí)行質(zhì)量。

但是,隨著Uber規(guī)模的擴(kuò)大,從100名工程師增加到1000名工程師,Uber開始注意到與系統(tǒng)復(fù)雜性大大增加相關(guān)的一系列問題。使用微服務(wù)架構(gòu),可以將單個整體的代碼庫換成“黑盒子”,“黑盒子”的功能可以隨時更改,并且很容易導(dǎo)致意外的發(fā)生。

 

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

 

要調(diào)試pick-up問題,工程師必須在12個不同的團(tuán)隊中完成約50項服務(wù)。

由于服務(wù)之間的調(diào)用可能會深入很多層,因此了解服務(wù)之間的依賴性可能會變得非常困難。第n個依賴項中的延遲峰值可能會導(dǎo)致上游問題的級聯(lián)。如果沒有合適的工具,就不可能看到實際發(fā)生的事情,從而使調(diào)試變得困難。

 

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

 

Jaeger于2018年中發(fā)布的Uber微服務(wù)架構(gòu)

為了構(gòu)建簡單的功能,工程師經(jīng)常必須跨多個服務(wù)工作,所有這些服務(wù)均由不同的個人和團(tuán)隊擁有。這就需要大量的協(xié)作以及花在會議,設(shè)計和代碼審查上的時間。當(dāng)團(tuán)隊在彼此的服務(wù)中構(gòu)建代碼,修改彼此的數(shù)據(jù)模型,甚至代表服務(wù)所有者執(zhí)行部署時,先前明確的服務(wù)所有權(quán)承諾將受到損害。可以形成網(wǎng)絡(luò)整體,其中必須將似乎獨(dú)立的所有服務(wù)一起部署以安全地執(zhí)行任何更改。

 

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

 

大約在2018年Uber的復(fù)雜流程示例,在DOMA之前需要10個接觸點才能進(jìn)行簡單集成。

結(jié)果是開發(fā)人員體驗變慢,服務(wù)所有者不穩(wěn)定,遷移更加痛苦等等。對于已經(jīng)采用微服務(wù)架構(gòu)的企業(yè)而言,沒有回頭路。需要找到解決方案來克服這些挑戰(zhàn)

面向“域”的微服務(wù)架構(gòu)

如果可以將微服務(wù)視為I/O綁定庫,而將“微服務(wù)架構(gòu)”視為大型的分布式應(yīng)用程序,則可以使用眾所周知的架構(gòu)來思考如何組織代碼。

因此,“面向域的微服務(wù)架構(gòu)”大量借鑒了已建立的組織代碼的方式,例如域驅(qū)動設(shè)計,干凈架構(gòu),面向服務(wù)的架構(gòu),以及面向?qū)ο蠛兔嫦蚪涌诘脑O(shè)計模式。Uber將DOMA視為創(chuàng)新,因為它是在大型組織的大型分布式系統(tǒng)中,利用既定設(shè)計原則的相對新穎的方法。

與DOMA相關(guān)的核心原理和術(shù)語如下:

  • Uber不是圍繞單個微服務(wù),而是圍繞相關(guān)微服務(wù)的集合——稱為域。
  • Uber進(jìn)一步創(chuàng)建稱為圖層的域的集合。域所屬的層確定了允許該域內(nèi)的微服務(wù)承擔(dān)什么依賴性——稱為層設(shè)計。
  • Uber為域提供干凈的接口,這些域被視為集合的單個入口點——稱為網(wǎng)關(guān)。
  • 最后,Uber確定每個域都應(yīng)該與其他域不可知,也就是說,一個域不應(yīng)該具有與在其代碼庫或數(shù)據(jù)模型內(nèi)部進(jìn)行硬編碼的另一個域相關(guān)的邏輯。由于團(tuán)隊經(jīng)常需要在另一個團(tuán)隊的域中,包括邏輯(如,自定義驗證邏輯或數(shù)據(jù)模型上的某些元上下文),因此我們提供了一種擴(kuò)展架構(gòu),以支持該域中定義明確的擴(kuò)展點。

換句話說,通過提供系統(tǒng)的架構(gòu),域網(wǎng)關(guān)和預(yù)定義的擴(kuò)展點,DOMA打算將微服務(wù)腳骨從復(fù)雜的東西轉(zhuǎn)變?yōu)榭衫斫獾臇|西:結(jié)構(gòu)化的一組靈活,可重用和分層的組件。

以下將深入研究Uber在DOMA中的實施,已經(jīng)看到的價值,以及為可能希望采用這種方法的企業(yè)提供的實用建議。

DOMA的實施

Uber域代表一個或多個與邏輯功能分組綁定的微服務(wù)的集合。設(shè)計域時常見的問題是“域應(yīng)該有多大?” 在此Uber不提供任何指導(dǎo)。有些域可以包含數(shù)十個服務(wù),有些域只能包含一個服務(wù)。

重要的任務(wù)是仔細(xì)考慮每個集合的邏輯角色。例如,Uber的地圖搜索服務(wù)構(gòu)成一個域,票價服務(wù)是一個領(lǐng)域,匹配平臺(匹配駕駛員)是一個域。這些也不總是遵循企業(yè)的組織結(jié)構(gòu)。Uber Maps組織本身分為三個域,在三個不同的網(wǎng)關(guān)后面有80個微服務(wù)。

層設(shè)計

層設(shè)計回答了“什么服務(wù)可以調(diào)用什么其他服務(wù)?”的問題。在Uber的微服務(wù)架構(gòu)中,可以將層設(shè)計視為“按比例分離關(guān)注點”。另外,可以將層設(shè)計視為“大規(guī)模依賴管理”。

層設(shè)計描述了一種機(jī)制,用于考慮Uber跨服務(wù)依賴項的失敗故障面(原文為失敗爆炸半徑, failure blast radius)和產(chǎn)品特異性。當(dāng)域從底層移到頂層時,它們在中斷的情況下會影響較少的服務(wù),并代表更多特定的產(chǎn)品使用案例。相反,底層的功能具有更多的依存關(guān)系,因此趨向于具有更大的故障面,并代表了更通用的業(yè)務(wù)功能集。下圖說明了此概念。

 

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

 

可以將頂層看作是特定的用戶體驗(比如移動功能),而底層看作是通用的業(yè)務(wù)功能(比如賬戶管理)。這為我們思考故障面和域集成等問題提供了有益的啟發(fā)。

值得注意的是,在這個圖表中,功能常常從特定的“向下”到更普遍的“向下”。可以想象,隨著需求的發(fā)展,一個簡單的特性最終會越來越像一個平臺。事實上,這種向下的遷移是意料之中的,而且Uber的許多核心業(yè)務(wù)平臺一開始只是針對乘客或司機(jī)的特定功能,隨著我們發(fā)展了更多的業(yè)務(wù)線,它們變得越來越普遍(比如Uber Eats或Uber Freight)。

在Uber內(nèi)部,建立了以下五個層次。

  • 基礎(chǔ)設(shè)施層。提供任何工程團(tuán)隊可以使用的功能。這是Uber對諸如存儲或網(wǎng)絡(luò)等重大工程問題的解答。
  • 業(yè)務(wù)層。提供Uber作為一個組織可以使用的功能,但這并不特定于特定的產(chǎn)品類別或業(yè)務(wù)(LOB),如乘車、餐飲或貨運(yùn)。
  • 產(chǎn)品層。提供與特定產(chǎn)品類別或LOB相關(guān)的功能,但與移動應(yīng)用程序無關(guān),比如“請求搭車”邏輯,它被多個搭車應(yīng)用程序(Rider、Rider“Lite”、m.uber.com等)利用。
  • 演示層。提供與面向消費(fèi)者的應(yīng)用程序(移動/web)中存在的特性直接相關(guān)的功能。
  • 邊緣層。安全向外界開放優(yōu)步服務(wù)。這一層也支持移動應(yīng)用程序。

如您所見,后續(xù)的每一層都代表了越來越具體的功能分組,并且具有越來越小的故障面(換句話說,更少的組件依賴于該層內(nèi)的功能)。

網(wǎng)關(guān)

術(shù)語“網(wǎng)關(guān)API”在微服務(wù)架構(gòu)中已經(jīng)是一個廣泛建立的概念。Uber的定義與已建立的定義差別不大,除了傾向于將網(wǎng)關(guān)專門看作底層服務(wù)集合(稱之為域)的單個入口點之外。網(wǎng)關(guān)的成功依賴于API設(shè)計的成功。

 

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

 

上圖說明了網(wǎng)關(guān)的高級圖。它抽象出域的內(nèi)部細(xì)節(jié)——多個服務(wù)、數(shù)據(jù)表、ETL管道等。只有接口—RPC api、消息傳遞事件和查詢被公開給其他域。

由于上游使用者只在單個服務(wù)上操作,因此通過上游服務(wù)只接受單個依賴項(而不是依賴于某個域中可能存在的多個下游服務(wù)),網(wǎng)關(guān)在未來的遷移、可發(fā)現(xiàn)性和系統(tǒng)復(fù)雜性的整體降低方面提供了許多好處。如果從面向?qū)ο笤O(shè)計的角度來考慮網(wǎng)關(guān),那么它們就是接口定義,它使Uber能夠根據(jù)底層“實現(xiàn)”(在本例中是底層微服務(wù)的集合)來做任何想做的事情。

擴(kuò)展

擴(kuò)展表示一種擴(kuò)展域的機(jī)制。擴(kuò)展的基本定義是,它提供了一種機(jī)制來擴(kuò)展基礎(chǔ)服務(wù)的功能,而不改變該服務(wù)的實際實現(xiàn),也不影響其總體可靠性。在Uber,提供兩種不同的擴(kuò)展模型:邏輯擴(kuò)展和數(shù)據(jù)擴(kuò)展。擴(kuò)展的概念允許Uber將架構(gòu)擴(kuò)展到多個團(tuán)隊,從而能夠彼此獨(dú)立地工作。

邏輯擴(kuò)展

邏輯擴(kuò)展為擴(kuò)展服務(wù)的底層邏輯提供了一種機(jī)制。對于邏輯擴(kuò)展,Uber使用provider or plugin模式的變體,并在逐個服務(wù)的基礎(chǔ)上定義接口。這使得擴(kuò)展團(tuán)隊能夠以接口驅(qū)動的方式實現(xiàn)擴(kuò)展邏輯,而無需修改底層平臺的核心代碼。

如,一個司機(jī)上線(go online)。通常,我們會進(jìn)行各種檢查,來確保司機(jī)可以運(yùn)營(安全檢查、合規(guī)等)。每一個都屬于一個單獨(dú)的團(tuán)隊。實現(xiàn)這一點的一種方法是讓每個團(tuán)隊在相同的端點編寫邏輯,但這可能會引入復(fù)雜性。每個檢查都需要定制的、完全不相關(guān)的邏輯。

對于邏輯擴(kuò)展,“go online”端點將定義一個接口,希望每個擴(kuò)展都符合預(yù)定義的請求類型和響應(yīng)。每個團(tuán)隊將注冊一個負(fù)責(zé)執(zhí)行此邏輯的擴(kuò)展。在這種情況下,它們可能只是取一些關(guān)于驅(qū)動程序的上下文,然后返回一個bool,說明驅(qū)動程序是否可以上線。go online端點將簡單地遍歷這些響應(yīng),并確定其中是否有錯誤。

這將核心代碼與每個擴(kuò)展解耦,并提供擴(kuò)展之間的隔離,而不知道其他邏輯正在執(zhí)行。圍繞它構(gòu)建更多的功能很容易,比如可觀察性或特性標(biāo)記。

數(shù)據(jù)擴(kuò)展

數(shù)據(jù)擴(kuò)展提供了將任意數(shù)據(jù)附加到接口,來避免核心平臺數(shù)據(jù)模型膨脹的機(jī)制。對于數(shù)據(jù)擴(kuò)展,Uber利用了Protobuf的Any功能,讓團(tuán)隊可以向請求添加任意數(shù)據(jù)。服務(wù)通常會存儲這些數(shù)據(jù)或?qū)⑵鋫鬟f給邏輯擴(kuò)展,便于核心平臺永遠(yuǎn)不會對這個任意上下文進(jìn)行反序列化(從而“knowing about”)。Protobuf的Any實現(xiàn)帶來了一些基礎(chǔ)設(shè)施開銷,以換取更強(qiáng)的類型。對于更簡單的實現(xiàn),可以簡單地使用JSON字符串表示任意數(shù)據(jù)。

 

優(yōu)步:面向“域”的微服務(wù)架構(gòu),滿足2200個關(guān)鍵微服務(wù)的擴(kuò)展

 

自定義

除了邏輯和數(shù)據(jù)擴(kuò)展,Uber的許多團(tuán)隊都引入了適合自己領(lǐng)域的擴(kuò)展模式。例如,與presentation架構(gòu)綁定的許多集成使用基于DAG的任務(wù)執(zhí)行邏輯。

價值所在

Uber的幾乎每個主要域都在某種程度上受到了DOMA的影響。在過去的一年里,Uber主要關(guān)注業(yè)務(wù)層,它為不同的業(yè)務(wù)線提供了通用的邏輯。

DOMA在Uber還很年輕,然而從簡化開發(fā)人員體驗和降低整個系統(tǒng)復(fù)雜性的角度來看,它的早期表現(xiàn)非常積極。

產(chǎn)品與平臺

DOMA是Uber跨產(chǎn)品和平臺團(tuán)隊一致努力的結(jié)果。平臺支持成本通常會下降一個數(shù)量級。產(chǎn)品團(tuán)隊受益于guard rails和加速的開發(fā)。

例如,我們的擴(kuò)展架構(gòu)的早期平臺使用者能夠通過采用擴(kuò)展架構(gòu)減少代碼審查、規(guī)劃和用戶學(xué)習(xí)曲線的時間,將優(yōu)先級和集成新特性的時間從三天減少到三小時。

降低復(fù)雜性

以前的產(chǎn)品團(tuán)隊必須調(diào)用大量的下游服務(wù)來利用一個域;現(xiàn)在只需要調(diào)用一個。通過減少加載新功能的接觸點數(shù)量,平臺能夠減少25-50%的登陸時間。此外,能夠?qū)?200個微服務(wù)劃分為70個域。其中大約有50%已經(jīng)實現(xiàn),而且大多數(shù)都有未來采用的計劃。

未來的遷移

在Uber,計算出微服務(wù)的半衰期是1.5年,這意味著每1.5年我們的微服務(wù)就會有50%的變動。如果沒有網(wǎng)關(guān),微服務(wù)架構(gòu)很容易因此陷入“遷移的噩夢”。不斷變化的微服務(wù)需要不斷進(jìn)行上游遷移。

網(wǎng)關(guān)使團(tuán)隊能夠避免對基礎(chǔ)域服務(wù)的依賴,這意味著這些服務(wù)可以在不強(qiáng)制上游遷移的情況下進(jìn)行更改。

這些平臺有數(shù)百個依賴于它們的服務(wù),而這些服務(wù)將不得不遷移現(xiàn)有的消費(fèi)者。在這些情況下,遷移的成本會非常高,使得重寫一個完整的平臺變得不可行。

新的業(yè)務(wù)和產(chǎn)品線

實踐證明,使用DOMA設(shè)計的平臺具有更高的可擴(kuò)展性和易于維護(hù)性。Uber采納DOMA的大多數(shù)團(tuán)隊之所以這樣做,是因為支持新的業(yè)務(wù)線變得太昂貴了。

實用建議

Uber為希望采用DOMA的公司提供一些實用建議。指導(dǎo)原則是,根據(jù)Uber的經(jīng)驗,一個成熟的、深思熟慮的微服務(wù)架構(gòu)來自于在正確的時間朝著正確的方向緩慢推進(jìn)。現(xiàn)實情況是,對于整個微服務(wù)架構(gòu)而言,真正的“重寫”是不可能的。

因此,Uber認(rèn)為發(fā)展微服務(wù)架構(gòu)更像是“修剪園藝”,一步步上線正確增長,而不是自上而下或一次性架構(gòu)(或重新架構(gòu))。這是一個動態(tài)的,漸進(jìn)的過程。

初創(chuàng)企業(yè)

驅(qū)動問題應(yīng)該是“何時應(yīng)采用微服務(wù)架構(gòu)?” 以及“這對企業(yè)有意義嗎?” 如上所述,盡管微服務(wù)為擁有大量工程師的企業(yè)帶來了運(yùn)營優(yōu)勢,但這種做法的代價是復(fù)雜性的增加,復(fù)雜性的增加使功能的構(gòu)建更加困難。

在初創(chuàng)企業(yè)中,運(yùn)營收益可能無法抵消架構(gòu)復(fù)雜性的增加。此外,微服務(wù)架構(gòu)通常需要專用的工程資源來支持,這對于早期公司來說可能超出預(yù)算,或者從優(yōu)先級的角度來看不是優(yōu)秀選擇。

考慮到這一點,完全擱置一段時間的微服務(wù)并非沒有道理。如果企業(yè)確實選擇采用微服務(wù),則應(yīng)考慮“將微服務(wù)視為大型分布式應(yīng)用程序”的類比,并考慮要構(gòu)建的微服務(wù)之間的關(guān)注點分離。此外,請注意第一個微服務(wù)可能真正地描述了業(yè)務(wù)的核心,因此可能是最重要的。

中型企業(yè)

對于中型企業(yè),已經(jīng)有了成熟的團(tuán)隊,而關(guān)注點之間的明確區(qū)分變得模糊不清,那么不同功能和平臺之間的微服務(wù)架構(gòu)就變得更加有用。

在這個階段,企業(yè)可以開始考慮微服務(wù)之間的層次結(jié)構(gòu)。依賴管理可能變得更加重要,因為某些服務(wù)對于業(yè)務(wù)運(yùn)營變得越來越至關(guān)重要,并且越來越多的團(tuán)隊依賴于它們。

平臺化的早期投資可能會在未來帶來回報。如果一個人能夠創(chuàng)造出完全與產(chǎn)品無關(guān)的商業(yè)平臺,并且在核心平臺服務(wù)中避免任意的產(chǎn)品邏輯,那么就有可能避免技術(shù)債務(wù)。此時采用擴(kuò)展來實現(xiàn)這個目標(biāo)是有意義的。

鑒于微服務(wù)的數(shù)量可能仍然很低,將它們聚在一起可能沒有意義。然而,這里值得注意的是,Uber的DOMA實現(xiàn)上下文中的域可以包含單個服務(wù),因此以“面向域”的方式思考仍然是有用的。

大型企業(yè)

較大的企業(yè)組織可能擁有數(shù)百名工程師和微服務(wù)以及數(shù)個依賴項。至此,DOMA完全發(fā)揮了作用。可能會有明顯的微服務(wù)集群,可以很容易地將它們組合在一起,并在它們前面放置網(wǎng)關(guān)。傳統(tǒng)服務(wù)通常需要開始進(jìn)行重構(gòu)或重寫,然后再進(jìn)行遷移。這意味著,如果網(wǎng)關(guān)已經(jīng)存在,網(wǎng)關(guān)將很快開始提供易于遷移方面的價值。

清晰的層次結(jié)構(gòu)也將變得越來越重要,因為某些服務(wù)作為特定功能或功能分組的“產(chǎn)品”服務(wù)運(yùn)行,而其他服務(wù)將越來越多地支持多種產(chǎn)品,并被視為“平臺”。在此階段,保持任意產(chǎn)品邏輯與平臺的分離至關(guān)重要,這樣可以避免給平臺團(tuán)隊帶來沉重的運(yùn)營負(fù)擔(dān)以及整個系統(tǒng)的不穩(wěn)定。

寫在最后

Uber越來越多的團(tuán)隊采用DOMA,并且仍在積極發(fā)展DOMA。DOMA的關(guān)鍵見解是,微服務(wù)架構(gòu)實際上只是一個大型的分布式程序,可以將其應(yīng)用于所有軟件的原理和演進(jìn)。DOMA只是在實踐中考慮這些原則的一種方法。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-12-01 12:08:45

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

2017-07-12 13:49:45

微服務(wù)架構(gòu)數(shù)據(jù)共享

2023-07-28 09:23:24

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

2023-07-27 14:03:51

微服務(wù)

2020-04-20 10:04:56

微服務(wù)架構(gòu)數(shù)據(jù)

2023-08-31 17:13:01

架構(gòu)軟件開發(fā)

2019-10-16 08:41:46

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

2020-06-09 22:05:44

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

2022-12-21 16:13:31

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

2018-12-12 09:59:47

微服務(wù)架構(gòu)分布式系統(tǒng)

2022-08-14 07:04:44

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

2024-06-03 00:00:10

微服務(wù)Python

2020-09-02 07:00:00

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

2017-07-04 14:57:40

微服務(wù)paasdocker

2018-10-28 18:09:22

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

2018-12-12 14:51:46

容器微服務(wù)編排

2015-07-29 16:23:07

2022-08-08 13:55:47

通信設(shè)計模式微服務(wù)

2018-04-20 10:38:25

2022-11-02 08:31:53

BFF架構(gòu)App
點贊
收藏

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

欧美黄色直播| 久久久久国产精品免费| 污污的网站免费| 伊人影院在线视频| 久久综合色鬼综合色| 国产精品色婷婷视频| 美女视频黄免费| 亚洲人和日本人hd| 91精品国产乱码久久蜜臀| 国产美女主播在线播放| 91在线看黄| 99久久国产综合精品女不卡| 国产精品欧美久久久| 久久国产一级片| 日韩不卡一区| 亚洲激情 国产| 中文字幕第22页| 樱花草涩涩www在线播放| 亚洲欧洲成人精品av97| 麻豆精品传媒视频| 国产 欧美 自拍| 精品一区二区三区久久| 热re91久久精品国99热蜜臀| 久久精品视频免费在线观看| 欧美日韩第一| 亚洲欧美制服另类日韩| 2018国产精品| 精品国产18久久久久久二百| 在线观看区一区二| 欧美日韩亚洲一| 电影k8一区二区三区久久| 国产精品欧美久久久久无广告| 国产一区二区三区四区hd| 国产精品毛片一区视频播| 琪琪一区二区三区| 国产97在线亚洲| 在线观看 中文字幕| 欧美fxxxxxx另类| 上原亚衣av一区二区三区| 3d动漫精品啪啪一区二区下载| www.成人网| 日韩午夜激情电影| 三级黄色片免费看| 亚洲人成网站在线在线观看| 欧美熟乱第一页| 熟女人妇 成熟妇女系列视频| 国产精品yjizz视频网| 一区二区高清免费观看影视大全| 一区二区三区|亚洲午夜| www.亚洲免费| 中文字幕精品一区二区精品绿巨人 | 在线电影欧美成精品| 波多野结衣作品集| 国产超碰精品| 日本高清免费不卡视频| 黄色片久久久久| 欧美黑人粗大| 欧美丝袜第三区| 五月婷婷之婷婷| 亚洲精品成a人ⅴ香蕉片| 欧美日韩国产小视频| 亚洲欧美久久久久| 在线不卡一区| 欧美一级久久久久久久大片| 亚洲免费在线播放视频| 精品一区视频| 精品日韩av一区二区| 女女调教被c哭捆绑喷水百合| **爰片久久毛片| 亚洲第一网中文字幕| 国产福利短视频| 九色成人国产蝌蚪91| 国产亚洲一区精品| 免费看一级黄色| 国产精品啊v在线| 午夜精品福利在线观看| 99超碰在线观看| 日本vs亚洲vs韩国一区三区二区 | xfplay精品久久| 日本精品二区| 成人黄色在线电影| 亚洲va欧美va国产va天堂影院| 欧美精品一区免费| 992tv国产精品成人影院| 69堂成人精品免费视频| 中文字幕99页| 加勒比久久综合| 久久久精品一区二区| 久草资源在线视频| 日韩有码一区二区三区| 91亚洲精品在线| 天天操天天干天天干| 国产日产欧美一区| 日本中文字幕一级片| 久草在线中文最新视频| 欧美视频中文一区二区三区在线观看| 熟妇无码乱子成人精品| 免费观看久久av| 久久久精品久久| 高清乱码免费看污| 国模大尺度一区二区三区| 国产亚洲福利社区| 日韩在线观看www| 狠狠躁夜夜躁人人躁婷婷91 | 国产精品久久久久久久妇| 日韩一区欧美二区| 国产一区二区三区四区五区加勒比| 国产三级在线免费| 亚洲一区视频在线| 亚洲欧美自拍另类日韩| 欧美日韩导航| 欧美日韩成人免费| 在线视频欧美亚洲| 91丨porny丨最新| 国产一区二区片| 国产成人精品一区二区三区在线 | 久久aⅴ乱码一区二区三区| 国产欧洲精品视频| 青青操视频在线| 亚洲一区二区在线视频| 欧美三级午夜理伦三级富婆| 五月激激激综合网色播| 欧美精品xxx| 国产又粗又猛又黄又爽| 国产日产欧美一区| 久久久久久久久久久福利| 91成人午夜| 久久精品视频99| 中文字幕乱码中文字幕| 久久久综合视频| 欧美精品久久久久久久自慰| 日本亚洲视频| 欧美老女人xx| 国产视频在线观看视频| 国产精品欧美一级免费| 国产主播中文字幕| 蜜桃a∨噜噜一区二区三区| 午夜精品久久久久久久久久久久久 | brazzers在线观看| 欧美大黄免费观看| 国产97免费视频| 黄页视频在线91| 在线视频一区观看| 亚洲一区二区三区久久久| 亚洲一区二区久久久| 国产suv精品一区二区33| 91视频免费看| 国产成人无码一二三区视频| 亚洲自拍电影| 日韩美女av在线免费观看| 欧洲免费在线视频| 91久久精品一区二区| 97伦伦午夜电影理伦片| 三级欧美在线一区| 日韩高清av电影| 日韩毛片一区| 最近2019中文字幕在线高清| 在线观看视频中文字幕| 中文字幕日本乱码精品影院| 五月花丁香婷婷| 欧美日韩国产欧| 91入口在线观看| 91九色美女在线视频| 日韩av网址在线| 国产精品熟女视频| 国产精品欧美一级免费| 亚洲精品在线网址| 亚洲无线一线二线三线区别av| 国产伦精品一区二区三区免费视频 | 亚洲精品亚洲人成人网在线播放| 男生和女生一起差差差视频| 国内一区二区三区| 精品日本一区二区三区在线观看| 亚洲午夜天堂| 日韩有码视频在线| 亚洲第一第二区| 狠狠色狠狠色综合日日五| 精品日韩在线视频| 国产毛片一区二区| 欧美激情视频免费看| 亚洲伊人春色| 91久久国产婷婷一区二区| 污污片在线免费视频| 亚洲精品电影网在线观看| 日韩精选在线观看| 一区二区三区自拍| 久久精品国产亚洲av久| 狠狠狠色丁香婷婷综合久久五月| 999一区二区三区| 精品国产乱码久久久久久蜜坠欲下| 亚洲va欧美va国产综合剧情| 国产高清自产拍av在线| 日韩中文字幕免费视频| 天天操天天干天天爱| 欧美日韩成人在线一区| 福利一区二区三区四区| 中文一区二区在线观看| 无码人妻丰满熟妇啪啪网站| 日韩高清不卡一区| 国产精品三级一区二区| 国产精品三级| 国产伦精品一区| **国产精品| 国产999在线| gogo久久| 欧美精品在线极品| yjizz视频网站在线播放| 精品国产伦一区二区三区观看方式| 久久久久久无码精品大片| 亚洲综合视频网| 激情无码人妻又粗又大| 久久婷婷久久一区二区三区| 久草福利在线观看| 青草av.久久免费一区| 精品国产一二三四区| 91精品啪在线观看国产18| 欧洲亚洲一区二区三区四区五区| 超碰97久久国产精品牛牛| 91精品久久久久久久久青青 | youjizz在线播放| 日韩久久免费电影| 亚洲高清精品视频| 欧美日韩国产在线观看| 日韩欧美在线观看免费| 亚洲v中文字幕| 久青草视频在线观看| 亚洲欧美综合色| 精品一区二区6| 国产亚洲欧美一区在线观看| 亚洲观看黄色网| 成人午夜又粗又硬又大| 国产高清999| 精品无人区卡一卡二卡三乱码免费卡 | 成人国产精品久久久网站| 成人h精品动漫一区二区三区| 97超碰人人看| 久草在线在线精品观看| 免费看污污网站| 免费观看在线色综合| 免费看a级黄色片| 久久久久一区| 那种视频在线观看| 亚洲免费综合| 波多野结衣家庭教师在线| 亚洲经典三级| 欧美视频在线播放一区| 日韩午夜黄色| 鲁一鲁一鲁一鲁一澡| 亚洲视频大全| 成人观看免费完整观看| 久久午夜视频| 亚州精品一二三区| 美女网站色91| 九九久久久久久| 国产一区二区三区黄视频| 无套内谢丰满少妇中文字幕 | 亚洲视屏一区| 日韩一级性生活片| 一区二区三区高清视频在线观看| 国产中文字幕免费观看| 久久一日本道色综合久久| 亚洲五月天综合| 久久99九九99精品| 四川一级毛毛片| 成人国产精品免费网站| 无码一区二区精品| 欧美国产精品一区二区| 免费精品在线视频| 一区二区三区高清在线| 久久狠狠高潮亚洲精品| 色欧美日韩亚洲| 国产精品伊人久久| 欧美精品一区二区高清在线观看 | 136福利视频导航| 欧美一区永久视频免费观看| 成人午夜免费在线观看| 国产丝袜一区二区| 天堂а√在线资源在线| 欧美精品久久久久久久久| 在线手机中文字幕| 国产精品自在线| 高清日韩欧美| 日本不卡一区二区三区在线观看| 999国产精品永久免费视频app| av久久久久久| 久久福利精品| 久久综合在线观看| 97久久精品人人澡人人爽| 人妻互换一区二区激情偷拍| 亚洲成人免费看| 中文字幕日韩经典| 欧美精品一区二区久久久| av大片在线播放| 韩国三级电影久久久久久| 成人h在线观看| 国产精品一区二区欧美| 日韩精品看片| av免费观看国产| 久久99精品国产麻豆婷婷洗澡| 91视频在线免费| 《视频一区视频二区| 日韩黄色在线播放| 日韩一区二区三区四区五区六区| 欧美伦理影视网| 九九热最新视频//这里只有精品| av有声小说一区二区三区| 超碰97国产在线| 日韩成人精品一区| 久久视频这里有精品| 另类人妖一区二区av| 人妻少妇精品视频一区二区三区| 中文字幕视频一区| 欧美日韩一级黄色片| 精品国产乱码久久久久久老虎| 91看片在线观看| 欧美一区二区影院| 91成人在线精品视频| 久久免费视频2| 日韩va欧美va亚洲va久久| 五十路六十路七十路熟婆| 亚洲柠檬福利资源导航| 中文字幕丰满人伦在线| 亚洲美女精品成人在线视频| 超碰中文在线| 成人黄视频免费| 亚洲女同中文字幕| 欧美三级午夜理伦三级富婆| 国产区在线观看成人精品| 国产高清中文字幕| 亚洲精品久久久一区二区三区| 日本性爱视频在线观看| 91欧美日韩一区| 99热国内精品| 欧美特级aaa| 亚洲国产激情av| 一区二区视频网| 中文字幕日韩精品在线| 日韩不卡在线| 少妇特黄a一区二区三区| 久久精品系列| 中文字幕xxx| 色域天天综合网| 你懂的在线观看视频网站| 91高潮精品免费porn| 欧美电影完整版在线观看| 欧洲精品一区二区三区久久| 成人精品国产免费网站| 五月天婷婷网站| 亚洲精品国精品久久99热| 高清精品在线| 久久久人人爽| 久久蜜桃精品| 无码人中文字幕| 7777精品伊人久久久大香线蕉的| 久久99精品久久| 亚洲最大福利视频网| 欧美午夜精品| 免费的av网站| 日韩欧美成人网| 成人免费在线电影| 国产一区二区在线免费视频| 91亚洲国产| 中文字幕在线观看视频www| 亚洲综合在线免费观看| 图片区 小说区 区 亚洲五月| 热99精品里视频精品| 日韩欧美视频在线播放| www.亚洲自拍| 性久久久久久久久| 欧美xxx.com| 91欧美精品成人综合在线观看| 好吊日精品视频| 波多野结衣a v在线| 欧美日韩国产高清一区| 欧美videosex性极品hd| 麻豆精品蜜桃一区二区三区| 日本美女视频一区二区| 99精品久久久久| 日韩av在线电影网| 久久不卡日韩美女| av无码久久久久久不卡网站| 久久综合九色欧美综合狠狠| 制服丝袜在线一区| 欧美日本中文字幕| 精品中文一区| 欧美性猛交乱大交| 色久综合一二码| 日本性爱视频在线观看| 日本午夜精品一区二区| 国产精品亚洲综合一区在线观看| 天天干天天干天天| 成人444kkkk在线观看| 日本午夜精品| 色网站在线视频| 色拍拍在线精品视频8848| 免费在线国产视频| 色一情一乱一伦一区二区三欧美 | 高潮毛片无遮挡| 日韩女优电影在线观看| 午夜无码国产理论在线|