溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微服務(wù)治理與統(tǒng)計(jì)分析

發(fā)布時(shí)間:2020-08-11 06:05:26 來源:ITPUB博客 閱讀:163 作者:EAWorld 欄目:軟件技術(shù)

微服務(wù)治理與統(tǒng)計(jì)分析

轉(zhuǎn)載本文需注明出處:微信公眾號EAWorld,違者必究。

引言:

微服務(wù)架構(gòu)下,服務(wù)拆得越細(xì),服務(wù)的粒度越小,可組裝性就越好;與之相對的服務(wù)之間的調(diào)用關(guān)系就會變復(fù)雜,為了保證服務(wù)更好的運(yùn)行,需要對這些服務(wù)進(jìn)行監(jiān)控和管理。本文大家介紹下EOS微服務(wù)平臺如果對微服務(wù)進(jìn)行日志查看、API調(diào)用統(tǒng)計(jì)、限流、熔斷、負(fù)載均衡的管理。

目錄:

1.EOS微服務(wù)平臺簡介

2.微服務(wù)監(jiān)控統(tǒng)計(jì)

3.微服務(wù)治理

1.EOS微服務(wù)平臺簡介
微服務(wù)治理與統(tǒng)計(jì)分析

微服務(wù)治理與統(tǒng)計(jì)分析

1、域是平臺中一組系統(tǒng)的統(tǒng)稱,通常為一組系統(tǒng)定義成有業(yè)務(wù)含義的域,比如信貸域。一個域有多個系統(tǒng),一個系統(tǒng)只能屬于一個域。一個域下可以日志中心、注冊中心、配置中心、APM監(jiān)控中心已經(jīng)斷路器監(jiān)控中心

2、系統(tǒng)是平臺中一組應(yīng)用的統(tǒng)稱,通常為一組應(yīng)用定義成有業(yè)務(wù)含義的系統(tǒng),比如信貸系統(tǒng)。一個系統(tǒng)有多個應(yīng)用,一個應(yīng)用只能屬于一個系統(tǒng)。

3、應(yīng)用(微服務(wù)應(yīng)用)是平臺開發(fā)出的基本部署單元,一個應(yīng)用只能屬于一個系統(tǒng),一個應(yīng)用有1到多個應(yīng)用實(shí)例組。

4、應(yīng)用實(shí)例組是平臺中應(yīng)用的實(shí)例分組,每個應(yīng)用可以有1到多個應(yīng)用實(shí)例分組,不同的應(yīng)用實(shí)例組擁有獨(dú)立的應(yīng)用配置與管理能力,不同的應(yīng)用實(shí)例組之間可以通過流控策略,實(shí)現(xiàn)應(yīng)用的灰度發(fā)布能力。應(yīng)用實(shí)例組下面有多個應(yīng)用實(shí)例。

5、應(yīng)用實(shí)例是平臺下實(shí)際部署應(yīng)用的進(jìn)程,應(yīng)用實(shí)例屬于某一個應(yīng)用實(shí)例組。

2.微服務(wù)監(jiān)控統(tǒng)計(jì)
1、應(yīng)用監(jiān)控

微服務(wù)治理與統(tǒng)計(jì)分析

通過應(yīng)用監(jiān)控可以查看一個系統(tǒng)內(nèi)應(yīng)用之間的調(diào)用關(guān)系。單個應(yīng)用的平均響應(yīng)時(shí)間、平均吞吐以及慢的端點(diǎn)訪問。

2、實(shí)例監(jiān)控

微服務(wù)治理與統(tǒng)計(jì)分析
微服務(wù)治理與統(tǒng)計(jì)分析
 
通過實(shí)例監(jiān)控可以查看一個實(shí)例的運(yùn)行情況包括:平均吞吐、平均響應(yīng)時(shí)間、CPU、內(nèi)存以及SQL的執(zhí)行。
3、請求監(jiān)控

微服務(wù)治理與統(tǒng)計(jì)分析


微服務(wù)治理與統(tǒng)計(jì)分析

通過請求監(jiān)控可以查看一個請求是成功還是錯誤,它的響應(yīng)時(shí)間,以及它的調(diào)用鏈路:經(jīng)過了幾個微服務(wù),在每個微服務(wù)內(nèi)的耗時(shí)是什么情況。
4、API調(diào)用統(tǒng)計(jì)

微服務(wù)治理與統(tǒng)計(jì)分析

API調(diào)用統(tǒng)計(jì)可以按照應(yīng)用、實(shí)例組、實(shí)例、API來統(tǒng)計(jì)匯總請求信息,包括:響應(yīng)狀態(tài)碼,請求數(shù),最小響應(yīng)時(shí)間,最大響應(yīng)時(shí)間,平均響應(yīng)時(shí)間以及響應(yīng)時(shí)間總和。支持按應(yīng)用、實(shí)例組、實(shí)例、API、時(shí)間段等條件進(jìn)行查詢以及按請求數(shù)和響應(yīng)時(shí)間排序。
5、應(yīng)用日志查看

微服務(wù)治理與統(tǒng)計(jì)分析

應(yīng)用日志匯聚多個應(yīng)用實(shí)例的日志,進(jìn)行統(tǒng)一查看。查看時(shí)支持按實(shí)例以及時(shí)間段進(jìn)行查詢過濾,應(yīng)用日志自帶traceId, spanId這些請求追蹤號。
3.微服務(wù)治理
1、實(shí)例上下線
微服務(wù)治理與統(tǒng)計(jì)分析
通過設(shè)置實(shí)例的狀態(tài),使得實(shí)例不會被其他應(yīng)用調(diào)用。這個是在客戶端實(shí)現(xiàn),客戶端是通過ribbon做負(fù)載均衡,ribbon會過濾掉狀態(tài)為OUT_OF_SERVICE的服務(wù)提供者實(shí)例。
2、API上下線
微服務(wù)治理與統(tǒng)計(jì)分析
通過設(shè)置API的狀態(tài),使得API不會被其他應(yīng)用調(diào)用。這個是在服務(wù)端實(shí)現(xiàn),通過在服務(wù)端增加Filter攔截器,對已下線的API的請求訪問,返回403的狀態(tài)碼。
3、熔斷
微服務(wù)治理與統(tǒng)計(jì)分析
微服務(wù)治理與統(tǒng)計(jì)分析
EOS的熔斷實(shí)現(xiàn)使用的是Hystrix,通過在頁面配置熔斷對象以及觸發(fā)條件來設(shè)置斷路器。熔斷對象對應(yīng)的是Hystrix的CommandKey,觸發(fā)條件包括:
  • 手工熔斷(強(qiáng)制打開熔斷器)

  • 取消熔斷(強(qiáng)制關(guān)閉熔斷器)

  • 自動熔斷(規(guī)定時(shí)間內(nèi)請求數(shù)超過閾值并且失敗率達(dá)到閾值才會觸發(fā)熔斷, 熔斷后指定時(shí)間內(nèi)嘗試取消熔斷)

這個配置通過寫入到配置中心及時(shí)下放到各個應(yīng)用,實(shí)現(xiàn)動態(tài)配置能力。
4、限流
微服務(wù)治理與統(tǒng)計(jì)分析
EOS現(xiàn)在的限流是對于每個應(yīng)用實(shí)例獨(dú)立計(jì)算,如設(shè)置每秒訪問10次,一個應(yīng)用有3個實(shí)例,則這3個實(shí)例每個都允許每秒訪問10次。限流是通過在服務(wù)端的Filter里使用Guava的RateLimiter實(shí)現(xiàn)。
這個配置通過寫入到配置中心及時(shí)下放到各個應(yīng)用,實(shí)現(xiàn)動態(tài)配置能力。
5、負(fù)載均衡
微服務(wù)治理與統(tǒng)計(jì)分析
EOS的負(fù)載均衡使用的是Ribbon實(shí)現(xiàn),可以針對每個目標(biāo)客戶端設(shè)置規(guī)則類型,支持:隨機(jī)、循環(huán)、自定義等;另外還支持容錯,容錯是指當(dāng)對某個實(shí)例的調(diào)用超時(shí)后的補(bǔ)救措施:
  • 快速失敗(Failfast):什么也不做,直接拋出異常

  • 失敗自動切換(Failover):嘗試訪問新的實(shí)例,按指定次數(shù)嘗試

  • 失敗原地重試(Failback):嘗試訪問同一實(shí)例,按指定次數(shù)嘗試

這個配置通過寫入到配置中心及時(shí)下放到各個應(yīng)用,實(shí)現(xiàn)動態(tài)配置能力。
以上向大家分享了普元EOS 8 微服務(wù)平臺里治理與統(tǒng)計(jì)分析,希望對大家有所幫助。不足之處,也請多多指正。

精選提問:

問1:配置生效要重啟應(yīng)用嗎?日志統(tǒng)計(jì)的實(shí)時(shí)性如何?

答:配置可以是熱更新的,不需要重啟應(yīng)用;接口統(tǒng)計(jì)暫時(shí)不是基于日志分析的,直接從每個實(shí)例中獲取統(tǒng)計(jì)信息。

問2:EOS微服務(wù)平臺底層是基于哪些技術(shù)?這個系統(tǒng)我們公司購買, 需要多少錢?

答:主要用到的是 Spring Cloud,Apollo,SkyWalking,ELK。可以撥打400-820-5821進(jìn)行產(chǎn)品咨詢、了解詳情。

問3:微服務(wù)治理的本質(zhì)是什么,除過熔斷、限流,微服務(wù)治理還包括哪些,特別是微服務(wù)的安全體現(xiàn)在哪些方面?

答:個人覺得治理還是為了保證業(yè)務(wù)系統(tǒng)正常平穩(wěn)的運(yùn)行。只是微服務(wù)架構(gòu)下,進(jìn)程更多,交互更多,管理復(fù)雜,異常錯誤會容易放大。除了熔斷、限流,比如實(shí)例上下線,統(tǒng)一配置,流量管理,應(yīng)用分組(多版本)等。我們現(xiàn)在是在網(wǎng)關(guān)上做的鑒權(quán),每個系統(tǒng)都有一個網(wǎng)關(guān),系統(tǒng)對外的接口需要先在網(wǎng)關(guān)上發(fā)布,并對接口進(jìn)行授權(quán)指定哪些客戶端可以調(diào)用,發(fā)放授權(quán)碼。

問4:數(shù)據(jù)共享安全管控中如何對非結(jié)構(gòu)化的數(shù)據(jù)資源進(jìn)行安全控制,如影像地圖等,如何進(jìn)行按地理區(qū)域來控制訪問的權(quán)限及安全?

答:數(shù)據(jù)共享安全管控中對影像地圖類非結(jié)構(gòu)化的數(shù)據(jù)資源很難從內(nèi)容上去做控制,可以配置地理區(qū)域標(biāo)識與服務(wù)的對應(yīng)關(guān)系、地理區(qū)域IP與服務(wù)對關(guān)系,從服務(wù)訪問的角度來控制。

微服務(wù)治理與統(tǒng)計(jì)分析

關(guān)于作者:王文斌,普元高級軟件工程師,開源技術(shù)愛好者,容器技術(shù)專家,曾參與浦東發(fā)展銀行BPM項(xiàng)目、銀聯(lián)PAASV1等項(xiàng)目。

關(guān)于EAWorld:微服務(wù),DevOps,數(shù)據(jù)治理,移動架構(gòu)原創(chuàng)技術(shù)分享。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI