業務開發轉基礎開發,這三種「高可用」架構你會么?


一、業務開發與基礎開發的區別

- 划分方式

    一種將后台開發細分的方式:前台開發(業務)、中台開發(中間件、應用基礎服務、PAAS服務、IAAS服務)、后台開發(運維開發)。一般前台開發對應於業務開發,中台開發對應基礎開發,后台開發對應運維。

- 規模

    基礎開發的目標是解決業務的公共痛點,所以一般數據量、並發量大於業務。就美團來說,一般的基礎服務日調用量在十億到千億。因此,高並發、高可用是常規話題。

 

二、三種高可用架構

- 多租戶集群架構

定義:

    多租戶技術(Multi-tenancy Technology),或稱多重租賃技術,是一種軟件架構技術。它是在探討與實現如何在多用戶公用相同的系統或組件時,仍可確保各用戶間的數據隔離性。

目標:

    按照業務情況分為不同租戶,單個租戶出現問題,不會影響其他租戶。

關鍵功能模塊:

  • 租戶管理

  • 權限管理

  • 資源管理

應用舉例:

   《美團分布式服務通信框架及服務治理系統OCTO》里使用appkey作為租戶、權限和資源划分的依據來實現多租戶集群管理。各個公司自己的Kafka集群也是根據接入業務實現了多租戶集群管理。

 

- 應用熔斷架構

目標:

    針對混合使用集群,單個應用的問題可能拖垮整個集群,單個服務異常情況下,提供熔斷機制,不會由於單個應用影響整個集群的問題。

常用熔斷條件:

  • 線程數過高

    熔斷原因:由於容器化技術的廣泛流行,CPU超售普遍存在。一個業務的異常線程會影響其他業務。

  • 大量慢查詢

    熔斷原因:在集中式ES集群、Redis集群等場景,由於存在連接數資源共享,一個業務的慢查詢會阻塞其他業務。

  • 調用量異常

    熔斷原因:在同步調用時,每個調用都不釋放線程,等待結果返回。一個業務的調用量異常可能會拖垮整個集群。

 

- 立體監控架構

黑天鵝現象:

    非常難以預測的罕見現象,通常會引起連鎖負面反應甚至顛覆。

目標:

    為了從海量監控、報警風暴數據中找到產生影響的「黑天鵝」,立體監控應任而生。

特點:

  • 多維數據模型

  • 在多維度上靈活查詢

  • 多種可視化圖表及儀表盤支持

 

三、總結

    親身經歷是教育的最好形式。

 

相關閱讀:

程序常用的設計技巧

到底多大才算高並發?

美團分布式服務通信框架及服務治理系統OCTO

學會用數據說話-分布式鎖究竟可以多少並發?

大話高可用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM