一、業務開發與基礎開發的區別
- 劃分方式
一種將後臺開發細分的方式:前臺開發(業務)、中臺開發(中介軟體、應用基礎服務、PAAS服務、IAAS服務)、後臺開發(運維開發)。一般前臺開發對應於業務開發,中臺開發對應基礎開發,後臺開發對應運維。
- 規模
基礎開發的目標是解決業務的公共痛點,所以一般資料量、併發量大於業務。就美團來說,一般的基礎服務日呼叫量在十億到千億。因此,高併發、高可用是常規話題。
二、三種高可用架構
- 多租戶叢集架構
定義:
多租戶技術(Multi-tenancy Technology),或稱多重租賃技術,是一種軟體架構技術。它是在探討與實現如何在多使用者公用相同的系統或元件時,仍可確保各使用者間的資料隔離性。
目標:
按照業務情況分為不同租戶,單個租戶出現問題,不會影響其他租戶。
關鍵功能模組:
-
租戶管理
-
許可權管理
-
資源管理
應用舉例:
《美團分散式服務通訊框架及服務治理系統OCTO》裡使用appkey作為租戶、許可權和資源劃分的依據來實現多租戶叢集管理。各個公司自己的Kafka叢集也是根據接入業務實現了多租戶叢集管理。
- 應用熔斷架構
目標:
針對混合使用叢集,單個應用的問題可能拖垮整個叢集,單個服務異常情況下,提供熔斷機制,不會由於單個應用影響整個叢集的問題。
常用熔斷條件:
-
執行緒數過高
熔斷原因:由於容器化技術的廣泛流行,CPU超售普遍存在。一個業務的異常執行緒會影響其他業務。
-
大量慢查詢
熔斷原因:在集中式ES叢集、Redis叢集等場景,由於存在連線數資源共享,一個業務的慢查詢會阻塞其他業務。
-
呼叫量異常
熔斷原因:在同步呼叫時,每個呼叫都不釋放執行緒,等待結果返回。一個業務的呼叫量異常可能會拖垮整個叢集。
- 立體監控架構
黑天鵝現象:
非常難以預測的罕見現象,通常會引起連鎖負面反應甚至顛覆。
目標:
為了從海量監控、報警風暴資料中找到產生影響的「黑天鵝」,立體監控應任而生。
特點:
-
多維資料模型
-
在多維度上靈活查詢
-
多種視覺化圖表及儀表盤支援
三、總結
親身經歷是教育的最好形式。
相關閱讀: