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

微服務(wù)架構(gòu)下,如何打造別具一格的服務(wù)治理體驗?(上)

運維 系統(tǒng)運維
當業(yè)務(wù)服務(wù)能力X調(diào)用Http服務(wù)能力A遇到異常時,服務(wù)能力實現(xiàn)框架會自動捕獲異常信息,并將系統(tǒng)性異常(Timeout,SocketException等等)以及某些業(yè)務(wù)異常(基于策略)提交到服務(wù)注冊中心,這個過程不必等到心跳周期到達而是立即觸發(fā)的,從而服務(wù)注冊中心可以實現(xiàn)對這些服務(wù)接口的快速隔離。

作者介紹

張真,宜信技術(shù)研發(fā)中心高級架構(gòu)師,負責基礎(chǔ)系統(tǒng)架構(gòu)演進與優(yōu)化、服務(wù)治理、監(jiān)控平臺、微服務(wù)建設(shè)、DevOps平臺、自動化測試框架及電子簽約、短信、郵件等應(yīng)用系統(tǒng)。早年就職于IBM中國研發(fā)中心,負責IBM WebSphere應(yīng)用服務(wù)器的設(shè)計與開發(fā)。目前主要關(guān)注微服務(wù)架構(gòu)實施,微智能設(shè)計思想應(yīng)用,虛擬化技術(shù)應(yīng)用,共識計算研究。

本文將包括以下內(nèi)容:

1、經(jīng)典微服務(wù)架構(gòu)的特點及問題

2、微服務(wù)計算平臺的設(shè)計思想與抽象模型

3、打造微服務(wù)計算的基礎(chǔ)三件事

  • 服務(wù)注冊與發(fā)現(xiàn)
  • 服務(wù)情景感知與監(jiān)控
  • 服務(wù)調(diào)用的自適應(yīng)機制

4、總結(jié)

一、經(jīng)典微服務(wù)架構(gòu)的特點以及問題

經(jīng)典的微服務(wù)架構(gòu)一般包含兩個部分:API網(wǎng)關(guān),一組微服務(wù)。API網(wǎng)關(guān)是唯一的請求入口,它還要負責負載均衡,路由編排,失效切換等工作。

經(jīng)典的微服務(wù)架構(gòu)圖(來源網(wǎng)絡(luò)):

關(guān)于經(jīng)典微服務(wù)架構(gòu)的文章很多,這里重點想分享一些我們實踐經(jīng)典微服務(wù)架構(gòu)的一些問題:

  1. “笨重”的API網(wǎng)關(guān),由于它要負責各種核心功能,不能靈活擴展,比如負載均衡策略,也許每個微服務(wù)類型需求都不一樣,它很難靈活變更;隨著對接的微服務(wù)越來越多,每個API網(wǎng)關(guān)也集成大量的功能。
  2. API網(wǎng)關(guān)自身需要高可用保證,經(jīng)典架構(gòu)并不提供,隨著后端接的微服務(wù)越來越多,也會造成很多穩(wěn)定性問題,它與微服務(wù)也需要兩套運維辦法,給運維帶來額外成本。
  3. 服務(wù)注冊與發(fā)現(xiàn)還是傳統(tǒng)模式,不能級聯(lián)代理,長連接也有限制,不能很好解決跨大網(wǎng)段,跨機房,跨IDC中心的問題。
  4. 心跳機制比較單一,只是從連接層面考慮,沒有上下文以及服務(wù)本身的監(jiān)控,需要依賴第三方實現(xiàn)。
  5. 失效切換機制單一,只能是聯(lián)通性檢查,對業(yè)務(wù)異常無感知,意味著不能根據(jù)業(yè)務(wù)異常切換。
  6. 沒有自動高效的重試機制,需要考慮對API網(wǎng)關(guān)的改造。
  7. 幾乎沒有隔離機制,需要采用第三方技術(shù)解決。
  8. 微服務(wù)實現(xiàn)沒有統(tǒng)一的技術(shù)棧支持,還處于原則規(guī)定階段。
  9. 服務(wù)編排依靠人工,沒有動態(tài)編排能力。

整體看來,經(jīng)典微服務(wù)架構(gòu)還不夠“聰明和智能”,于是我們設(shè)計并著手研發(fā)新一代微服務(wù)計算平臺,希望能夠讓其充分發(fā)揮微服務(wù)架構(gòu)的優(yōu)勢和特性。

二、微服務(wù)計算平臺的設(shè)計思想與抽象模型

1、“微智能”的設(shè)計思想

“微智能”這個概念起源于智能家居,是目前智能硬件領(lǐng)域的一股創(chuàng)新思想。在提到“智能”這個詞,通常是相對人而言,智能家居通過“智”的體現(xiàn),更好的服務(wù)人的生活。于是,我們就思考是否系統(tǒng)或者服務(wù)也能體現(xiàn)“智”,如果與微服務(wù)相結(jié)合,讓其更加“聰明”的工作?

先來看看微智能的設(shè)計思想:

1)自動發(fā)現(xiàn):即真實的反映現(xiàn)實世界,盡可能利用“自動化”手段捕獲現(xiàn)實情況并提取有效”信息”。微服務(wù)實際上對原有的單體系統(tǒng)或”重”服務(wù)進行了拆分,意味著服務(wù)種類以及服務(wù)實例個數(shù)會成倍增加,依靠人工整理或編排的手段變得笨重滯后。自動發(fā)現(xiàn)實現(xiàn)了微服務(wù)生命周期管理初始環(huán)節(jié)的自動化。

2)自我維護:即形成“閉環(huán)”反饋回路,將“輸入”或“中間”或“結(jié)果”信息再反饋到系統(tǒng)中,合并成新的“輸入”或“中間”或“結(jié)果”信息。真實世界的信息變化很快,為了盡量趨近真實,需要不停的迭代。微服務(wù)架構(gòu)除了更多的服務(wù)實例個數(shù)(規(guī)模增長),也意味著更加“多變復雜”的服務(wù)更迭(變更頻率增長),自我維護實現(xiàn)了微服務(wù)生命周期管理更迭的自動化。

3)自動適應(yīng)(適配):自動適應(yīng)拓展了自動發(fā)現(xiàn)+自我維護的思想外延,是“智”的體現(xiàn)。根據(jù)自動發(fā)現(xiàn)的信息適配相應(yīng)的處理(初次適應(yīng));根據(jù)自我維護的反饋,不斷調(diào)整(迭代適應(yīng))。比如服務(wù)降級的閥值,其實不同時間不同資源使用情況下這個閥值是動態(tài)變化的,在數(shù)百服務(wù)實例的級別都已無法依靠人工來進行調(diào)整,而需要每個服務(wù)實例依據(jù)上下文的環(huán)境以及歷史狀態(tài)的分析自主的調(diào)節(jié)。

所以微智能設(shè)計思想的三個核心原則正是構(gòu)建“智”的微服務(wù)計算平臺的基礎(chǔ)指導思想。

2、“擬社會化”的分布式設(shè)計

有了微智能的思想,我們還需要重新認識“服務(wù)”。什么是微服務(wù),社群里有很多文章都分享了相關(guān)的內(nèi)容。我們理解服務(wù)的“微”體現(xiàn)在:

  • 細粒度的服務(wù)能力:某個服務(wù)實例只完成一種或某幾種業(yè)務(wù),或說只具備某一種或幾種能力。
  • 完全獨立的部署結(jié)構(gòu):每個服務(wù)實例都能獨立部署
  • 服務(wù)能力可以編排:不同的服務(wù)實例之間需要協(xié)作才能完成“更大”的業(yè)務(wù)
  • 更多同類型實例:業(yè)務(wù)種類決定了服務(wù)種類,而業(yè)務(wù)負載的大小決定了某種服務(wù)類型的實例數(shù)量,當然這可能也意味著更加穩(wěn)定的服務(wù)輸出。

這里引入一個很有意思的思考:社會是由人(個體)構(gòu)成的相互協(xié)作的群體,每個人都可能具備幾種技能,并使用這些技能參與到社會分工協(xié)作中去。具備同種技能的人可以一起協(xié)作來提高生產(chǎn)效率和提供可靠性高的生產(chǎn)輸出;具備不同技能的人可以在某一件事情上進行分工協(xié)作,形成生產(chǎn)流水線。

其實可以發(fā)現(xiàn)微服務(wù)的特性跟人類社會的運作方式很像。服務(wù)實例就是個體,服務(wù)能力就是技能,允許服務(wù)實例具備幾種服務(wù)能力,具備相同服務(wù)能力的實例可以看做同類型的實例,多個同類型實例構(gòu)成的集群可以實現(xiàn)負載均衡和高可用,不同類型實例可以被編排在一起完成業(yè)務(wù)流程。我們把這種分布式設(shè)計稱為“擬社會化”。

“擬社會化”分布式設(shè)計抽象圖:

“擬社會化”分布式設(shè)計的特點:

  1. 服務(wù)計算節(jié)點與服務(wù)能力之間沒有必然聯(lián)系,這是與傳統(tǒng)分布式設(shè)計的重要區(qū)別。服務(wù)計算節(jié)點是運行資源的載體,服務(wù)能力是業(yè)務(wù)邏輯的載體。
  2. 服務(wù)計算節(jié)點允許多個服務(wù)能力。
  3. 服務(wù)能力有兩種狀態(tài):激活(可以使用),非激活(存在但不可用)。
  4. 服務(wù)能力是獨立的,可裝配的。
  5. 服務(wù)集群實際是服務(wù)能力的集群,這也是區(qū)別傳統(tǒng)單體架構(gòu)集群或SOA服務(wù)集群的關(guān)鍵。
  6. 服務(wù)的協(xié)作過程實際是服務(wù)能力的協(xié)作過程,而不是服務(wù)計算節(jié)點的協(xié)作過程。
  7. 由于協(xié)作過程因為服務(wù)能力的可變性,使得可以動態(tài)定義服務(wù)能力集群,即軟件定義服務(wù)集群(SDSC)。

這里可能有個疑問:為什么允許某個服務(wù)計算節(jié)點有多個服務(wù)能力,這是不是一種“倒退”,不符合微服務(wù)的原則?其實主要有兩個方面的原因:

  • 資源使用方面:在實際實施過程中,難以保證每個服務(wù)能力都能獨享服務(wù)計算節(jié)點,而且事實上如此實施會過于極端了。微服務(wù)的服務(wù)實例數(shù)量會比傳統(tǒng)架構(gòu)的增長幾倍甚至幾十倍,難以依靠單純增加資源投入的方式來滿足部署需求。
  • 服務(wù)編排的需要:這是更重要的一點,服務(wù)輸出是體現(xiàn)在服務(wù)能力上(再次強調(diào)不是服務(wù)計算節(jié)點),這也是“微”的體現(xiàn)。由于服務(wù)能力可以激活也可以“休眠”,那么某個復合能力節(jié)點就具備了服務(wù)能力輸出的多樣可能性。比如某個服務(wù)計算節(jié)點可能在一段時間屬于某個服務(wù)能力集群,在另一段時間屬于另外一個服務(wù)能力集群,通過這種方式實現(xiàn)計算資源的最大化利用。

這里舉兩個例子對“擬社會化”分布式設(shè)計的應(yīng)用加以說明。

實踐實例一:短信系統(tǒng)是常見的高并發(fā)系統(tǒng),在互聯(lián)網(wǎng)環(huán)境下可能因為各種營銷活動引起Peaktime,常規(guī)的做法是增加資源,但現(xiàn)實是資源池是有限的,而且多數(shù)時候Peaktime會波及整個營銷活動鏈條的系統(tǒng),這些系統(tǒng)都需要增加資源,很快資源池就分光了。在“擬社會化”的分布式設(shè)計下,可以通過服務(wù)能力的快速切換,把一些業(yè)務(wù)休眠或在當前時間段體量小的服務(wù)能力的計算資源向Peaktime的服務(wù)能力集中,在Peaktime過去以后,又能快速的恢復原集群。同時,可以發(fā)現(xiàn)另一個特性的體現(xiàn):軟件定義集群。這個特性會在以后的分享專題中專門說明。

實踐實例二:在P2P業(yè)務(wù)中,線下簽約通常是白天進行而晚上無業(yè)務(wù),而簽約數(shù)據(jù)的統(tǒng)計工作是T+1的模式,是在晚上進行。傳統(tǒng)方式是部署兩個完全獨立的系統(tǒng),而“擬社會化”的分布式系統(tǒng)通過復合能力節(jié)點,以服務(wù)能力切換的方式實現(xiàn)同一套計算資源的復用。

計算節(jié)點抽象模型

接下來,就是把微智能思想和擬社會化分布式設(shè)計統(tǒng)一起來,構(gòu)建微服務(wù)計算平臺的計算節(jié)點抽象模型。它遵循以下原則:

  • 服務(wù)能力是實現(xiàn)業(yè)務(wù)邏輯的唯一方式,每種能力只包含一種業(yè)務(wù)邏輯
  • 服務(wù)能力的實現(xiàn)方式遵守同一套技術(shù)實現(xiàn)框架,只有業(yè)務(wù)邏輯的差別,而運行機制,運維機制完全相同
  • 每個計算節(jié)點是對等的,只有計算資源占用的差別,而運行機制,運維機制等完全相同
  • 計算節(jié)點的分工由服務(wù)能力決定,部署的計算節(jié)點至少包含一種服務(wù)能力
  • 計算節(jié)點的實現(xiàn)遵守同一套技術(shù)實現(xiàn)框架,且這套實現(xiàn)框架提供運行服務(wù)能力的容器
  • 計算節(jié)點集群的構(gòu)建方式是自動發(fā)現(xiàn)的,集群元數(shù)據(jù)的維護是由計算節(jié)點集群自我維護的
  • 服務(wù)能力的發(fā)現(xiàn)方式是自動發(fā)現(xiàn)的,服務(wù)調(diào)用元數(shù)據(jù)的維護是由計算節(jié)點集群自我維護的
  • 服務(wù)調(diào)用過程應(yīng)具備自適應(yīng)能力,盡最大可能保證服務(wù)調(diào)用通暢,在面對風險時,能夠有一定的自主處理能力
  • 允許服務(wù)能力的集成與編排,服務(wù)編排后的運行過程具備應(yīng)對異常或風險的自適應(yīng)性。

計算節(jié)點抽象模型:

服務(wù)能力是一種計算能力,分為基礎(chǔ)服務(wù)能力和業(yè)務(wù)服務(wù)能力。

  1. 基礎(chǔ)服務(wù)能力是構(gòu)建計算平臺的前提,也提供了對計算平臺服務(wù)調(diào)用,監(jiān)控,運維的支持。基礎(chǔ)服務(wù)能力實際上是整個計算平臺的基石,會在以后的分享專題中逐個展開說明。
  2. 業(yè)務(wù)服務(wù)能力是根據(jù)實際業(yè)務(wù)需求實現(xiàn)的服務(wù)能力

按照以上原則,服務(wù)計算節(jié)點還提供了三類基礎(chǔ)支持:

  • 服務(wù)能力的生命周期管理:

值得注意的是,服務(wù)能力可以被裝配或卸載,這個過程分為Soft模式和Hard模式。Soft模式是通過配置的方式,服務(wù)能力的實現(xiàn)(例如jar包)還存在;Hard模式就是配置與實現(xiàn)一起裝配或卸載。實際應(yīng)用中,Soft模式更加靈活,服務(wù)能力實現(xiàn)的變更可以交給節(jié)點升級來做。

  • 服務(wù)能力實現(xiàn)框架:為實現(xiàn)業(yè)務(wù)邏輯提供一套統(tǒng)一的編程和運行框架。
  1. 組件化管理支持:服務(wù)能力在業(yè)務(wù)層面是原子,但在實現(xiàn)層面可以分解為組件,組件是具備特定邏輯又具備通用邏輯的代碼。
  2. 常用的編程組件的支持:保持統(tǒng)一的,標準的技術(shù)棧,也加速服務(wù)能力的開發(fā)。一般包括:定時任務(wù),HTTP服務(wù)端,HTTP客戶端,內(nèi)存隊列異步處理,多線程或并行編程支持。當然通訊層面是根據(jù)實際選型來定,我們以HTTP作為標準通信。
  • 計算節(jié)點自身管理:為了實際運行和運維需要而提供的支持。
  1. 元數(shù)據(jù)管理:比如每個計算節(jié)點需要一個唯一的ID來標識自己(就像人的身份證),通過它第一次運行來創(chuàng)建,且持久化起來以便再次運行時能夠保持ID不變;有些服務(wù)能力運行是會產(chǎn)生臨時文件,這就需要計算節(jié)點提供一個“場所”(臨時目錄)供其施展。
  2. 節(jié)點自動升級/回滾:這個是所有分布式系統(tǒng)中最重要的特性之一,它能大大提升變更大規(guī)模節(jié)點的效率,在微服務(wù)架構(gòu)下尤其適合。這個變更過程包含兩個方面:計算節(jié)點配置以及實現(xiàn)的變更,服務(wù)能力配置以及實現(xiàn)的變更。
  3. 節(jié)點的配置管理:負責提供實際的配置讀取/改寫接口,以及將自身和服務(wù)能力的運行時的配置持久化等。

當然計算節(jié)點自身管理包含工作有很多擴展,要根據(jù)實際需求定義。

三、打造微服務(wù)計算的基礎(chǔ)三件事

微服務(wù)計算平臺實現(xiàn)服務(wù)治理首先要解決三個基礎(chǔ):服務(wù)注冊與發(fā)現(xiàn),服務(wù)監(jiān)控,服務(wù)調(diào)用控制。

1、服務(wù)注冊與發(fā)現(xiàn)

1)服務(wù)注冊

經(jīng)典的服務(wù)注冊方法有以下兩種:

  • 顯式配置:人工將服務(wù)的接口信息(服務(wù)名,服務(wù)URI等)配置到服務(wù)注冊中心。WebService UDDI就是這種模式。它的問題是需要人工收集服務(wù)接口信息,這個過程可能產(chǎn)生滯后或者錯誤的信息,運維代價大。
  • 代碼實現(xiàn):調(diào)用服務(wù)注冊中心客戶端發(fā)送服務(wù)的接口信息到服務(wù)注冊中心。典型用例是基于Zookeeper服務(wù)注冊。它的優(yōu)勢是服務(wù)接口的URI可能是通過代碼收集出來的,較人工收集更加自動化。

但它也有如下問題:

  • 需要編寫專門的代碼埋點,與服務(wù)注冊中心客戶端的緊耦合:如果使用Zookeeper,需要依賴它的jar包。
  • 服務(wù)注冊代碼與服務(wù)接口代碼上下文緊耦合:必須在特定位置去使用服務(wù)注冊的代碼,而且可能還會包含特定服務(wù)的信息,這些信息可能是人工編排進去的。
  • 由于不同系統(tǒng)是由不同團隊開發(fā)的,需要行政制度,“TopDown”規(guī)定服務(wù)注冊的編程,一旦有“不按套路出牌”的情況就會出現(xiàn)各種運維問題。
  • 基于前文的計算節(jié)點模型,我們的微服務(wù)注冊過程如下:
  • 以HTTP方式對外暴露功能的服務(wù)能力(如圖Http服務(wù)能力A)基于計算節(jié)點提供的Http服務(wù)框架實現(xiàn)。統(tǒng)一技術(shù)棧的目的之一,也是為服務(wù)注冊做準備。
  • 在Http服務(wù)能力A裝配時,基礎(chǔ)服務(wù)能力“服務(wù)能力畫像”會對其進行畫像。畫像的過程實際是對編程模型的解析過程。提取的信息包括IP,Context路徑,服務(wù)接口的URL,服務(wù)接口對應(yīng)的實現(xiàn)方法,方法輸入?yún)?shù)的Pattern等等。這個過程就實現(xiàn)了服務(wù)的自動發(fā)現(xiàn)。
  • 服務(wù)能力畫像完成畫像后會將畫像數(shù)據(jù)轉(zhuǎn)交給基礎(chǔ)服務(wù)能力“心跳客戶端”。
  • 心跳客戶端通過心跳上行將服務(wù)接口數(shù)據(jù)發(fā)送到服務(wù)注冊中心。

我們的服務(wù)注冊過程是以心跳系統(tǒng)為基礎(chǔ)的,服務(wù)注冊是心跳事務(wù)中的一種。實際上服務(wù)注冊中心是基礎(chǔ)服務(wù)能力“心跳服務(wù)端”的功能,而它的載體是另一個計算節(jié)點(如圖服務(wù)計算節(jié)點B),這也是計算節(jié)點的對等性體現(xiàn),因為任何一個具備心跳服務(wù)端能力的計算節(jié)點都可以作為服務(wù)注冊中心。

服務(wù)注冊:常規(guī)模式

服務(wù)注冊:“心跳級聯(lián)代理”模式

在大規(guī)模部署服務(wù)計算節(jié)點時,往往還會遇到跨大網(wǎng)段,跨機房,跨IDC中心,白名單IP策略等問題。所以心跳系統(tǒng)還支持“心跳級聯(lián)代理”模式,其作用是允許建立多級的心跳群,每個群由若干“代理”心跳服務(wù)端組成,它們只負責轉(zhuǎn)發(fā)心跳信息,所以服務(wù)注冊信息也依靠這個過程進行轉(zhuǎn)發(fā)到服務(wù)注冊中心。

服務(wù)注冊:多級服務(wù)注冊中心模式

在某些特殊業(yè)務(wù)場景下,對服務(wù)注冊信息更新延遲容忍度較低,這時,讓心跳級聯(lián)的計算節(jié)點也作為服務(wù)注冊中心。如下圖,節(jié)點B是1級服務(wù)注冊中心(以下簡稱1級中心),節(jié)點C是2級服務(wù)注冊中心(以下簡稱2級中心)。1級中心會存儲向自己提交的服務(wù)注冊信息,也會把這些信息轉(zhuǎn)發(fā)到上級服務(wù)注冊中心。2級中心上可見所有下級中心的服務(wù)注冊信息。這種模式可以獲得更快的服務(wù)發(fā)現(xiàn),因為同級的節(jié)點發(fā)現(xiàn)其他節(jié)點服務(wù)能力只需經(jīng)過本級服務(wù)注冊中心即可,下文會結(jié)合服務(wù)發(fā)現(xiàn)做詳細解釋。

服務(wù)注冊中心依靠TTL的方式對服務(wù)接口注冊信息進行生命周期管理。我們定義生命狀態(tài)如下:

  1. 存活(Alive):服務(wù)接口健康,可被查詢
  2. 可疑死亡(Dying):由于網(wǎng)絡(luò)延遲等原因的假死狀態(tài),服務(wù)接口健康狀態(tài)存疑,可被查詢。有可能經(jīng)過1~2個生命周期收到上行心跳,可恢復至Alive狀態(tài)
  3. 死亡(Dead):超過了較大的TTL,基本認為服務(wù)接口死亡,其接口信息被隔離不能查詢
  4. 消失(Disappear):超過了一個鐵定死亡的TTL,認為服務(wù)接口可以抹去,最終會從服務(wù)中心消息掉,其接口信息被隔離不能查詢

另一個關(guān)鍵點是服務(wù)接口名的定義,它應(yīng)該是全局唯一的命名,因為在多個服務(wù)能力之間互相調(diào)用時是以服務(wù)接口名為目標的。在服務(wù)畫像時,會自動生成服務(wù)接口名,它提取以下三類信息:

  1. 計算節(jié)點類型名(服務(wù)計算節(jié)點相關(guān)):計算節(jié)點的類型由業(yè)務(wù)語義決定,比如MonitoAgent,SMSGateway,HealthManager等等
  2. Http服務(wù)組件類型名(服務(wù)能力相關(guān)):對外提供Http服務(wù)組件的簡寫類名,比如MDFListenServer,NodeOperHandleServer,DigitSignServer等等
  3. Context路徑(服務(wù)接口相關(guān)):相對Http服務(wù)根的路徑,比如/ma/put/mdf,/hm/cache/q,/rtntf/oper等等。

它們共同構(gòu)成服務(wù)接口名,例如:

  1. healthmanager-HealthMangerServerWorker-/hm/cache/q 
  2. runtimenotify-RuntimeNotifyServerWorker-/rtntf/oper 
  3. hbserveragent-HeartBeatServerListenWorker-/heartbeat 

2)服務(wù)發(fā)現(xiàn)

服務(wù)發(fā)現(xiàn)的本質(zhì)是通過服務(wù)接口名查詢服務(wù)注冊中心,服務(wù)注冊中心基于某些策略返回服務(wù)接口可用地址列表,服務(wù)調(diào)用方也可以基于某些策略來使用地址列表。

微服務(wù)計算平臺的服務(wù)發(fā)現(xiàn)過程如下:

  • 業(yè)務(wù)服務(wù)能力X以服務(wù)接口名為參數(shù),調(diào)用組件API(每個服務(wù)能力組件都具備)。
  • 組件API內(nèi)部是調(diào)用心跳客戶端向服務(wù)注冊中心查詢該服務(wù)接口。值得注意的是,除了第一次獲取某服務(wù)接口信息外,出于性能考慮,這個過程是獨立的,心跳客戶端可以通過下行心跳不停更新已經(jīng)用過的服務(wù)接口信息,通過TTL機制自動過期哪些長時間不使用的服務(wù)接口信息。
  • 服務(wù)注冊中心根據(jù)某種策略(授權(quán)訪問策略,隔離策略等等)返回地址列表
  • 業(yè)務(wù)服務(wù)能力X獲取服務(wù)接口地址列表后,可按照某種輪詢策略(Round Robin,權(quán)重等)使用。

在心跳級聯(lián)代理模式下的服務(wù)發(fā)現(xiàn)與常規(guī)模式類似,這里不做詳述。

多級服務(wù)中心模式下的服務(wù)發(fā)現(xiàn):

上文提到在多級服務(wù)注冊中心模式下,可以獲得更快的服務(wù)發(fā)現(xiàn)。從心跳客戶端的角度來看,其實沒有差別,但是如果是查詢同級的服務(wù)接口,在1級中心立刻查到,無須去2級中心;對于查詢跨級的服務(wù)接口,則需要從2級中心獲取,并會在1級中心緩存,從而加快跨級查詢。有一點注意,1級中心的緩存也是TTL的,并且生存周期要短于2級中心,這是性能和時效性的互相適應(yīng)的結(jié)果。因為從1級查緩存雖然快,但是1級中心無法判斷跨級服務(wù)的存活,所以長時間的緩存可能是錯誤的信息,縮短TTL時長是為了更快更新跨級服務(wù)的地址信息。

服務(wù)接口失效的快速反饋:

當業(yè)務(wù)服務(wù)能力X調(diào)用Http服務(wù)能力A遇到異常時,服務(wù)能力實現(xiàn)框架會自動捕獲異常信息,并將系統(tǒng)性異常(Timeout,SocketException等等)以及某些業(yè)務(wù)異常(基于策略)提交到服務(wù)注冊中心,這個過程不必等到心跳周期到達而是立即觸發(fā)的,從而服務(wù)注冊中心可以實現(xiàn)對這些服務(wù)接口的快速隔離。而其他打算調(diào)用該服務(wù)接口的其他服務(wù)能力,通過心跳下行獲得地址列表更新。這樣的方式可以彌補TTL機制可能的延遲。

另外說明一下為什么沒有使用Zookeeper類似的長連接(盡管時效性更好),主要有如下原因:

  1. 長連接對服務(wù)注冊中心的壓力大,長連接意味著要支持大量的連接,常規(guī)的PC服務(wù)器能夠支持數(shù)千個長連接已經(jīng)是極限了,在微服務(wù)架構(gòu)下,如果實例個數(shù)在這個數(shù)量級尚可接受,但是如果是萬級實例,對硬件的配置要求太高,而且系統(tǒng)層面大量的長連接也存在管理問題。
  2. 長連接難以實現(xiàn)跨大網(wǎng)段,跨機房,甚至跨IDC中心,甚至由于某些IP安全策略(隔離)會變得不可用。
  3. 長連接的超時機制難以把控,太短會造成“中斷”假象,太長會造成”假存活”,而且受網(wǎng)絡(luò)層影響很大。
  4. 長連接也無法支持級聯(lián)來實現(xiàn)擴展服務(wù)規(guī)模的能力。
責任編輯:武曉燕 來源: DBAplus社群
相關(guān)推薦

2015-11-10 17:55:35

微軟

2010-03-03 18:28:31

RSA 2010聯(lián)想網(wǎng)御

2020-12-28 11:52:36

微服務(wù)數(shù)據(jù)中臺去中心化

2023-11-02 17:52:30

架構(gòu)模式微服務(wù)服務(wù)治理

2018-11-07 10:00:00

微服務(wù)Service MesIstio

2023-07-28 09:23:24

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

2024-06-07 14:54:55

2019-07-12 14:41:31

微服務(wù)Kubernetes容器

2022-12-16 09:29:23

攜程微服務(wù)

2025-11-14 00:25:00

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

2021-08-13 07:52:35

微服務(wù)網(wǎng)關(guān)數(shù)據(jù)

2017-07-17 15:50:17

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

2021-06-22 18:00:09

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

2023-09-05 15:00:04

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

2020-08-11 07:40:37

數(shù)組數(shù)據(jù)存儲

2024-12-10 09:15:39

2020-09-29 07:00:00

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

2024-03-15 09:00:00

2021-03-05 18:05:56

JavaServerless 微服務(wù)

2023-12-30 08:27:13

點贊
收藏

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

日韩精品在线视频免费观看| 亚洲xxxxx性| 黄色片在线观看免费| 国产成人77亚洲精品www| 亚洲欧洲一区二区在线播放| 国产成人精品一区二区三区福利| 日本熟妇一区二区| 超碰成人久久| 精品国产亚洲在线| 日本成人黄色网| free性欧美hd另类精品| 成人精品国产一区二区4080| 国产97在线播放| 免费在线观看一级片| 欧美有码在线| 欧美一级欧美三级| 国产无套内射久久久国产| 黄色片网站在线观看| 99v久久综合狠狠综合久久| 国产精品久久久久久久久久免费 | 久久久久久久久岛国免费| 国产免费一区视频观看免费| 日韩特黄一级片| 68国产成人综合久久精品| 亚洲国内高清视频| 奇米777在线| 成人国产网站| 一本到不卡免费一区二区| 激情五月五月婷婷| www黄在线观看| 99re在线精品| 风间由美一区二区三区| 在线视频 91| 久久午夜激情| 2019中文字幕在线观看| 国产这里有精品| 888久久久| 日韩在线免费视频观看| 免费黄色在线视频| 人体久久天天| 亚洲国产精品字幕| 95视频在线观看| 天堂av一区| 欧美一区二视频| 中文字幕精品一区二区三区在线| 户外露出一区二区三区| 色综合天天综合网国产成人综合天| 日韩a级黄色片| av电影免费在线观看| 国产精品理论片在线观看| 日韩一区国产在线观看| 青青草观看免费视频在线 | 国产jk精品白丝av在线观看| 任你弄精品视频免费观看| 精品国产乱码久久久久久久久 | 日韩在线www| jizz日本在线播放| 成人免费av| 中文字幕亚洲欧美日韩在线不卡| a级片在线观看| 国产一区二区三区四区五区传媒| 亚洲精品一区久久久久久| 精品无码国产一区二区三区51安| 久草在线综合| 亚洲精品视频在线播放| 成年人网站免费在线观看 | 精品香蕉一区二区三区| 欧美色图亚洲激情| 精品视频日韩| 日韩中文字幕免费视频| 翔田千里88av中文字幕| 欧美~级网站不卡| 欧美国产中文字幕| 日韩精品人妻中文字幕| 亚洲欧美日韩专区| 国产精品亚洲综合天堂夜夜| 国产精品久久久久久久成人午夜| 国产一区视频导航| 国产高清在线一区| 全部免费毛片在线播放网站| 国产日韩成人精品| aaa免费在线观看| 四虎影视国产在线视频| 精品免费在线视频| 国产又黄又猛又粗又爽的视频| 久久久加勒比| 精品国内二区三区| 中文幕无线码中文字蜜桃| 久久视频在线| 久久久久久久久久久国产| 国产区一区二区三| 久久精品国产99久久6| 97中文在线观看| 日本在线一二三| 国产精品毛片无遮挡高清| www.夜夜爱| 亚洲成人va| 日韩美女在线视频| 高潮毛片无遮挡| 欧美福利视频| 国产精品久久在线观看| 亚洲爆乳无码一区二区三区| 国产亚洲欧洲997久久综合| japanese在线视频| sis001欧美| 91精品国产日韩91久久久久久| avtt香蕉久久| 在线精品小视频| 国产精品成人v| 亚洲精品.www| 国产精品美日韩| 国产97在线 | 亚洲| 亚洲精品自拍| 亚洲片国产一区一级在线观看| 私库av在线播放| 日韩成人伦理电影在线观看| 国产精品免费观看高清| 人人干在线视频| 色先锋aa成人| 国产人妻黑人一区二区三区| 香蕉精品视频在线观看| 国产成人精品av| 污污视频在线观看网站| 一级日本不卡的影视| 黄色手机在线视频| 免费成人结看片| 国产做受高潮69| 国产乱淫av片免费| 国产亚洲欧美日韩日本| 国产免费毛卡片| 国语一区二区三区| 色与欲影视天天看综合网| 亚洲自拍第二页| 国产欧美视频一区二区| 亚洲熟女乱色一区二区三区| 成人av综合网| 欧美国产亚洲精品久久久8v| 国产麻豆一精品一男同| 国产精品福利电影一区二区三区四区| 久久国产色av免费观看| 日韩高清一级| 91国产精品视频在线| 国产小视频一区| 亚洲国产视频在线| 高清中文字幕mv的电影| 欧美性久久久| 国产高清一区视频| 99re6在线精品视频免费播放| 精品国产免费人成在线观看| 五月天丁香激情| 国产不卡在线播放| 国产精品igao激情视频| 一级毛片精品毛片| 欧美激情视频一区二区| 成人毛片视频免费看| 亚洲综合激情另类小说区| 国产人妖在线观看| 国产在线不卡| 成人在线观看网址| 97人澡人人添人人爽欧美| 亚洲精品国产拍免费91在线| 国产成人一级片| 国产午夜精品一区二区| www.亚洲高清| 中文在线日韩| 国产自产精品| 日韩欧美一区二区三区免费观看| 亚洲午夜精品久久久久久性色 | 国产一二三四区| 国产99久久久国产精品潘金网站| 欧美久久在线观看| 无码少妇一区二区三区| 国产91在线播放| 黄页视频在线播放| 精品日韩一区二区三区免费视频| 久久久精品视频在线| 97久久超碰国产精品电影| 老头吃奶性行交视频| 婷婷久久一区| 精品999在线观看| 成人在线爆射| 欧美美最猛性xxxxxx| 手机av免费在线观看| 欧洲精品一区二区三区在线观看| 我要看一级黄色录像| 成人看片黄a免费看在线| 日日碰狠狠丁香久燥| 亚洲澳门在线| 久久99精品久久久久子伦| 国产一区二区三区影视| 欧美老妇交乱视频| 久久久资源网| 91精品国模一区二区三区| 在线免费观看毛片| 欧美韩日一区二区三区四区| 337p日本欧洲亚洲大胆张筱雨| 久久久精品五月天| 天天在线免费视频| 精品在线观看入口| 亚洲一区二区三| 精品国产第一福利网站| 久久在线精品视频| 国产小视频免费在线网址| 日韩一区二区三区av| 黄色网址中文字幕| 亚洲成人av一区二区三区| 日韩免费av一区| 91在线观看免费视频| 性鲍视频在线观看| 日韩在线a电影| 亚洲精品蜜桃久久久久久| 日韩系列欧美系列| 麻豆久久久av免费| 视频一区国产| 91精品久久久久久久久久久久久久| www在线看| 美女av一区二区三区| p色视频免费在线观看| 日韩激情在线视频| 精品人妻伦一区二区三区久久| 欧美视频一二三区| 亚洲日本视频在线观看| 亚洲一区二区视频在线| 在线观看亚洲网站| 国产精品色哟哟| 亚洲熟妇一区二区三区| 国产成人精品aa毛片| 污污网站在线观看视频| 狂野欧美性猛交xxxx巴西| 国产免费黄色小视频| 欧美日韩三级| 国产香蕉一区二区三区| 欧美电影免费观看高清| 日韩一区国产在线观看| 欧美精品一二| 免费看成人片| 奇米狠狠一区二区三区| 欧美高清视频一区| 日韩伦理一区二区三区| 精品乱码一区| 三级小说欧洲区亚洲区| 精品国产乱码久久久久久郑州公司| 伊人精品综合| 91久久大香伊蕉在人线| 欧美二区观看| 99久久精品无码一区二区毛片| 精品国产三级| 91观看网站| 成人18夜夜网深夜福利网| 国产私拍一区| 日韩人体视频| 欧美久久综合性欧美| 久久97视频| 日本午夜精品一区二区| 精品国产91乱码一区二区三区四区 | 日日碰狠狠添天天爽超碰97| 国产亚洲在线| 激情综合网婷婷| 日韩精品免费视频人成| 亚洲va在线va天堂va偷拍| 国产一区999| 亚洲成人精品在线播放| 不卡的av电影| 波多野结衣 在线| 国产精品国产三级国产普通话三级| 美女福利视频网| 亚洲综合视频在线观看| 日韩少妇高潮抽搐| 色狠狠桃花综合| 一级久久久久久久| 日韩一区二区三区av| 婷婷丁香花五月天| 国产一区二区三区在线观看视频 | 中文字幕免费在线看线人动作大片| 国产精品水嫩水嫩| 福利所第一导航| 精品女厕一区二区三区| 亚洲视屏在线观看| 日韩欧美国产1| 青青色在线视频| 久久精品国产91精品亚洲| 欧美aaaaaaa| 日韩av免费在线观看| 91视频亚洲| 久久66热这里只有精品| 91偷拍一区二区三区精品| 人妻互换免费中文字幕| 麻豆精品网站| japan高清日本乱xxxxx| 久久婷婷久久一区二区三区| 日韩欧美国产成人精品免费| 久久国产精品72免费观看| 日韩av不卡在线| 欧美特黄aaaaaaaa大片| 91在线视频成人| 搞黄视频免费在线观看| 久久视频在线直播| 校园春色亚洲| 147欧美人体大胆444| 久久99国产成人小视频| 超碰10000| 日本成人超碰在线观看| 成年女人免费视频| 国产精品福利电影一区二区三区四区| 国产午夜福利片| 欧美日韩国产首页| 天天干,夜夜操| 久久国产精品久久国产精品| 免费成人美女女| 国产一区免费观看| 亚洲精品网址| 最新中文字幕免费视频| www.日韩在线| 校园春色 亚洲| 精品视频1区2区3区| 水中色av综合| 欧美激情网站在线观看| vam成人资源在线观看| 欧美日韩国产不卡在线看| 韩日视频一区| 欧美体内she精高潮| 国产精品乱子久久久久| 亚洲中文一区二区| 日韩精品极品在线观看| 牛牛在线精品视频| 91亚洲精品一区二区| 久久综合99| 中文字幕有码av| 国产欧美日韩视频一区二区| 青草视频在线观看免费| 亚洲国产精品久久| 美女91在线| 99九九视频| 欧美成人久久| 欧美视频国产视频| 国产精品久久久久久久久免费桃花| 99久久久无码国产精品免费蜜柚 | 91高清视频在线| 日本韩国一区| 欧美自拍大量在线观看| 欧美亚洲tv| 免费高清在线观看免费| 99精品欧美一区| 久久露脸国语精品国产91| 精品久久久网站| 丰满的护士2在线观看高清| 999热视频在线观看| 国产精品a级| 精品熟女一区二区三区| 精品日韩美女的视频高清| 亚洲av成人无码网天堂| 欧美一区第一页| 久久91麻豆精品一区| 国产小视频精品| 国产精品久久久久久久久久久免费看 | www.涩涩爱| 91精品视频网| a视频在线免费看| 国产精品免费一区二区三区四区| 亚洲国产日韩在线| 国产精品久久久免费观看| 一本大道久久a久久综合| 国产尤物视频在线| 成人福利网站在线观看11| 午夜精品久久99蜜桃的功能介绍| 亚洲成人福利视频| 婷婷综合五月天| 免费在线超碰| 国产精品尤物福利片在线观看| 亚洲激情中文| 捆绑裸体绳奴bdsm亚洲| 欧美日韩视频免费播放| 北岛玲一区二区三区| 亚洲综合在线播放| 国产一区二区高清| 国产精品成人在线视频| 欧美一级理论片| 亚洲欧洲高清| 一区二区国产日产| 成人sese在线| 中文字幕二区三区| 欧美裸身视频免费观看| 一个色免费成人影院| 永久免费的av网站| 亚洲国产视频a| 触手亚洲一区二区三区| 亚洲wwwav| 久久精品麻豆| 少妇人妻丰满做爰xxx| 亚洲激情视频网站| 欧美视频免费看| 国产免费观看高清视频| 国产精品久久精品日日| 婷婷开心激情网| 成人午夜一级二级三级| 国产午夜精品一区二区三区欧美 | 在线免费观看污| 欧美久久久久久久| 国产.欧美.日韩| 中文字幕一区2区3区|