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