[TOC]
# 總體介紹
OCP能力平臺滿足微服務架構應用的非功能性需求(Non-functional Requirements,NFR),非功能性需求與應用本身無關,在項目開發中積累的與非功能性需求相關的經驗,可以更容易地在不同的項目中復用。不過非功能性需求所涵蓋的內容很多,一個應用不可能滿足全部的需求,而且有些非功能性需求也存在沖突,本文將介紹OCP能力平臺提供的通用功能
## 服務管理
通過OCP能力平臺,可以調用注冊中心提供的各種管理接口來實現服務的管理。根據我的經驗,服務管理一般包括以下幾種操作:
* 服務上下線。當上線一個新服務的時候,可以通過調用注冊中心的服務添加接口,新添加一個服務,同樣要下線一個已有服務的時候,也可以通過調用注冊中心的服務注銷接口,刪除一個服務。
* 節點添加/刪除。當需要給服務新添加節點時候,可以通過調用注冊中心的節點注冊接口,來給服務新增加一個節點。而當有故障節點出現或者想臨時下線一些節點時,可以通過調用注冊中心的節點反注冊接口,來刪除節點。
* 服務查詢。這個操作會調用注冊中心的服務查詢接口,可以查詢當前注冊中心里共注冊了多少個服務,每個服務的詳細信息。
* 服務節點查詢。這個操作會調用注冊中心的節點查詢接口,來查詢某個服務下一共有多少個節點。
## 服務治理
通過OCP能力平臺,可以調用配置中心提供的接口,動態地修改各種配置來實現服務的治理。根據我的經驗,常用的服務治理手段包括以下幾種:
* 限流。一般是在系統出現故障的時候,比如像微博因為熱點突發事件的發生,可能會在短時間內流量翻幾倍,超出系統的最大容量。這個時候就需要調用配置中心的接口,去修改非核心服務的限流閾值,從而減少非核心服務的調用,給核心服務留出充足的冗余度。
* 降級。跟限流一樣,降級也是系統出現故障時的應對方案。要么是因為突發流量的到來,導致系統的容量不足,這時可以通過降級一些非核心業務,來增加系統的冗余度;要么是因為某些依賴服務的問題,導致系統被拖慢,這時可以降級對依賴服務的調用,避免被拖死。
## 服務監控
OCP能力平臺一般包括兩個層面的監控。一個是整體監控,比如服務依賴拓撲圖,將整個系統內服務間的調用關系和依賴關系進行可視化的展示;一個是具體服務監控,比如服務的QPS、AvgTime、P999等監控指標。其中整體監控可以使用服務追蹤系統提供的服務依賴拓撲圖,而具體服務監控則可以通過Grafana等監控系統UI來展示。
## 問題定位
OCP能力平臺實現問題定位,可以從兩個方面來進行。一個是宏觀層面,即通過服務監控來發覺異常,比如某個服務的平均耗時異常導致調用失敗;一個是微觀層面,即通過服務追蹤來具體定位一次用戶請求失敗具體是因為服務調用全鏈路的哪一層導致的。
## 日志查詢
OCP能力平臺可以通過接入類似ELK的日志系統,能夠實時地查詢某個用戶的請求的詳細信息或者某一類用戶請求的數據統計。
- 01.前言
- 02.快速開始
- 01.maven構建項目
- 02.安裝mysql數據庫
- 03.安裝redis緩存中間件
- 04.快速啟動框架
- 03.總體流程
- 01.架構設計圖
- 02.oauth接口
- 03.功能介紹
- 04.部署細節
- 04.模塊詳解
- 01.基礎介紹
- 02.自定義db-spring-boot-starter
- 03.自定義log-spring-boot-starter
- 04.自定義redis-spring-boot-starter
- 05.自定義base-spring-boot-starter
- 06.自定義common-spring-boot-starter
- 07.自定義loadbalancer-spring-boot-starter
- 08.自定義swagger-spring-boot-starter
- 09.自定義uaa-client-spring-boot-starter
- 10.自定義uaa-server-spring-boot-starter
- 11.自定義oss-spring-boot-starter
- 12.自定義sentinel-spring-boot-starter
- 05.服務詳解
- 01.nacos-server
- 02.auth-server
- 03.user-center
- 04.new-api-gateway
- 05.file-center
- 06.log-center
- 07.back-center
- 08.auth-sso模塊
- 09.admin-server
- 10.job-center
- 06.系統安全
- 01.非法字符漏洞攻擊
- 02.防重放攻擊
- 03.代碼審計
- 04.Xray掃洞
- 05.混沌工程質量保證
- 07.生產部署K8S
- 01.基本環境安裝
- 02.基本組件安裝
- 03.集群驗證
- 04.安裝Metrics Server
- 05.安裝容器平臺
- 06.Ingress網關
- 07.metalb負載均衡器
- 08.容器平臺集群
- 08.K8S資源練習
- 01.Deployment
- 02.StatefulSet
- 03.DaemonSet
- 04.redis集群服務
- 05.elasticsearch集群
- 06.rocketmq部署
- 09.生產容器化部署
- 01.nacos集群部署
- 02.user-center服務
- 03.auth-server服務
- 04.new-api-gateway服務
- 技術交流