數據庫

微服務治理與統計分析

廣告
廣告

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

引言:微服務架構下,服務拆得越細,服務的粒度越小,可組裝性就越好;與之相對的服務之間的調用關系就會變復雜,為了保證服務更好的運行,需要對這些服務進行監控和管理。本文大家介紹下EOS微服務平臺如果對微服務進行日志查看、API調用統計、限流、熔斷、負載均衡的管理。

目錄:

1.EOS微服務平臺簡介

2.微服務監控統計

3.微服務治理1.EOS微服務平臺簡介

1、域是平臺中一組系統的統稱,通常為一組系統定義成有業務含義的域,比如信貸域。一個域有多個系統,一個系統只能屬于一個域。一個域下可以日志中心、注冊中心、配置中心、APM監控中心已經斷路器監控中心

2、系統是平臺中一組應用的統稱,通常為一組應用定義成有業務含義的系統,比如信貸系統。一個系統有多個應用,一個應用只能屬于一個系統。

3、應用(微服務應用)是平臺開發出的基本部署單元,一個應用只能屬于一個系統,一個應用有1到多個應用實例組。

4、應用實例組是平臺中應用的實例分組,每個應用可以有1到多個應用實例分組,不同的應用實例組擁有獨立的應用配置與管理能力,不同的應用實例組之間可以通過流控策略,實現應用的灰度發布能力。應用實例組下面有多個應用實例。

5、應用實例是平臺下實際部署應用的進程,應用實例屬于某一個應用實例組。2.微服務監控統計1、應用監控

通過應用監控可以查看一個系統內應用之間的調用關系。單個應用的平均響應時間、平均吞吐以及慢的端點訪問。2、實例監控

通過實例監控可以查看一個實例的運行情況包括:平均吞吐、平均響應時間、CPU、內存以及SQL的執行。3、請求監控

通過請求監控可以查看一個請求是成功還是錯誤,它的響應時間,以及它的調用鏈路:經過了幾個微服務,在每個微服務內的耗時是什么情況。4、API調用統計

API調用統計可以按照應用、實例組、實例、API來統計匯總請求信息,包括:響應狀態碼,請求數,最小響應時間,最大響應時間,平均響應時間以及響應時間總和。支持按應用、實例組、實例、API、時間段等條件進行查詢以及按請求數和響應時間排序。5、應用日志查看

應用日志匯聚多個應用實例的日志,進行統一查看。查看時支持按實例以及時間段進行查詢過濾,應用日志自帶traceId, spanId這些請求追蹤號。3.微服務治理1、實例上下線

通過設置實例的狀態,使得實例不會被其他應用調用。這個是在客戶端實現,客戶端是通過ribbon做負載均衡,ribbon會過濾掉狀態為OUT_OF_SERVICE的服務提供者實例。2、API上下線

通過設置API的狀態,使得API不會被其他應用調用。這個是在服務端實現,通過在服務端增加Filter攔截器,對已下線的API的請求訪問,返回403的狀態碼。3、熔斷

EOS的熔斷實現使用的是Hystrix,通過在頁面配置熔斷對象以及觸發條件來設置斷路器。熔斷對象對應的是Hystrix的CommandKey,觸發條件包括:

  • 手工熔斷(強制打開熔斷器)
  • 取消熔斷(強制關閉熔斷器)
  • 自動熔斷(規定時間內請求數超過閾值并且失敗率達到閾值才會觸發熔斷, 熔斷后指定時間內嘗試取消熔斷)

這個配置通過寫入到配置中心及時下放到各個應用,實現動態配置能力。4、限流

EOS現在的限流是對于每個應用實例獨立計算,如設置每秒訪問10次,一個應用有3個實例,則這3個實例每個都允許每秒訪問10次。限流是通過在服務端的Filter里使用Guava的RateLimiter實現。這個配置通過寫入到配置中心及時下放到各個應用,實現動態配置能力。5、負載均衡

EOS的負載均衡使用的是Ribbon實現,可以針對每個目標客戶端設置規則類型,支持:隨機、循環、自定義等;另外還支持容錯,容錯是指當對某個實例的調用超時后的補救措施:

  • 快速失?。‵ailfast):什么也不做,直接拋出異常
  • 失敗自動切換(Failover):嘗試訪問新的實例,按指定次數嘗試
  • 失敗原地重試(Failback):嘗試訪問同一實例,按指定次數嘗試

這個配置通過寫入到配置中心及時下放到各個應用,實現動態配置能力。以上向大家分享了普元EOS 8 微服務平臺里治理與統計分析,希望對大家有所幫助。不足之處,也請多多指正。

精選提問:

問1:配置生效要重啟應用嗎?日志統計的實時性如何?

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

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

答:主要用到的是 Spring Cloud,Apollo,SkyWalking,ELK??梢該艽?00-820-5821進行產品咨詢、了解詳情。

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

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

問4:數據共享安全管控中如何對非結構化的數據資源進行安全控制,如影像地圖等,如何進行按地理區域來控制訪問的權限及安全?

答:數據共享安全管控中對影像地圖類非結構化的數據資源很難從內容上去做控制,可以配置地理區域標識與服務的對應關系、地理區域IP與服務對關系,從服務訪問的角度來控制。

關于作者:王文斌,普元高級軟件工程師,開源技術愛好者,容器技術專家,曾參與浦東發展銀行BPM項目、銀聯PAASV1等項目。

關于EAWorld:微服務,DevOps,數據治理,移動架構原創技術分享。

我還沒有學會寫個人說明!

超融合、等保2.0、網絡安全……你想了解的深信服都在這兒!

上一篇

Nacos配置中心原理

下一篇

你也可能喜歡

微服務治理與統計分析

長按儲存圖像,分享給朋友

ITPUB 每周精要將以郵件的形式發放至您的郵箱


微信掃一掃

微信掃一掃
30岁的男人干啥赚钱快赚钱多