高效能 高可用的分布式架構體系 有啟發的

2022-08-03 08:18:13 字數 1431 閱讀 4438

在2b企業服務、雲計算、移動網際網路領域,專業的雲平台服務裡,分布式技術為支撐平台正常運作關鍵性技術。從商業利潤和運維成本角度出發,千方百計榨乾伺服器的每一分效能很大程度上影響著**的商業價值,因此對效能的追求,成為分布式架構體系中極為重要的考量指標;從使用者角度,特別是作為主要收入**的企業使用者的角度出發,保證業務處理的正確性和服務不中斷(高可用性)是支撐使用者信心的重要**。高效能,高可用,正確性成為分布式架構體系的關鍵技術因素。

分布式即時通訊(cloudim):承載著推送服務的平台級中介軟體。基於openfire,但除了保留其基本的連線保持和結點間通訊能力外,幾乎進行了全新的改造。cloudim提供了方便的api給第三方應用,開發者可以使用cloudim的api輕鬆地實現訊息即時推送(從而實現例如即時通訊,協同辦公,即時提醒等實時功能),而不用考慮長連線保持,線路故障,伺服器負載,使用者狀態變更通知等繁複的要求。cloudim效能優秀,其提供的全部api的tps都介於15000-35000之間。單台伺服器線上實測可保持連線數超過7萬,訊息延遲低於50ms,集群可支援上千結點。支援結點動態加入或退出,支援線上擴容。

分布式訊息佇列(cloudmq):一種分布式的訊息佇列(mq)實現方案,設計原理參考了apache的開源專案kafka及**的開源專案metamorphosis,承繼了分布式及高效能高吞吐量的特性。cloudmq實現簡單,無broker設計,可保持訊息順序,採用純pull加通知機制幾乎避免了消費延遲,採用多分割槽機制保證提高系統的吞吐量,最大訊息數量為數十億級別,另外還支援延遲訊息(比如5分鐘之內發生100次更改事件,只推送一次最終結果,大幅減少重複訊息)。生產訊息tps介於35000-45000之間,消費訊息的tps為40000左右。

分布式任務排程(cloudjob):將任務按特定規則(負載均衡,地域原則等)分配到多個結點執行的排程框架。支援crontab標準的任務重複和定時策略,支援海量定時任務(千萬級),保證任務處理的實時性和順序性,支援實時查詢任務狀態或中止任務。任務排程吞吐量可達2萬每秒。

分布式檢索平台(cloudindex):海量實時檢索系統,承載著分詞檢索任務。主要採用solr和cloudmq實現,使用cloudmq保證更新效能以及保證集群結點獲得相同的更新序列,使用solr實現分詞及實時檢索。支援索引分片(分片規則包括hash法及數字區間法),自定義分詞,結點負載均衡。索引讀寫延遲小於200ms,單一索引的資料規模可以達到上億級別。

分布式nosql資料庫集群(cloudredis):基於redis研發的資料庫集群,相容redis的全部資料結構及大部分的命令集合。由客戶端使用一致性hash演算法將請求按照key的hash請求到集群內不同結點執行,使用binlog操作序列同步方式來保證不同服務結點的資料最終一致性;當服務結點變更時,客戶端主動發現結點變更,重新計算hash,集群內其它服務結點獲知結點變更,保證binlog已經消費完畢的情況下才繼續提供更新服務,從而保證結點變更情況下的資料一致性。效能極為優秀,非批量操作讀寫命令可達到10萬每秒以上處理速度,超越了原生redis,可支援十億級別或更高資料儲存。

高效能 高可用的分布式架構體系

在2b企業服務 雲計算 移動網際網路領域,專業的雲平台服務裡,分布式技術為支撐平台正常運作關鍵性技術。從商業利潤和運維成本角度出發,千方百計榨乾伺服器的每一分效能很大程度上影響著 的商業價值,因此對效能的追求,成為分布式架構體系中極為重要的考量指標 從使用者角度,特別是作為主要收入 的企業使用者的角...

分布式架構 高可用

本文將通過自建架構圖 進行講解 如圖採用了分布式 微服務架構,將傳統系統進行重構後的效果 微服務架構體系對多個層面進行探索 分析和優化,本文不在詳細闡述 微服務 分布式架構根據公司 企業需求定製化構造而來,目的細化模組間的呼叫,鏈路更加清晰明了,不同環節高可用方案不同,優化手段也存在差異。分析思考 ...

高可用架構之分布式快取

為什麼需要快取?加速請求響應時間,響應延遲小 減少對固化儲存的讀壓力 快取適用場合 靜態資源的快取 較少更改資源的快取 讀多寫少場景 不適合場景 頻繁更新 讀少寫多 高可用架構使用的快取型別有哪些?各自作用是什麼?本地快取 靜態不變的資料 減少網路i o互動 程序內快取 和程序相關的動態資料 動態變...