在高併發系統中,除了自開發的各種業務處理系統外,
還可以使用的一些支援高併發的開源元件和中介軟體,
它們大都是業界的標桿性專案,能大大提高整個系統的併發效能,加速業務的快速落地。
本文介紹在高併發流**傳輸系統中用到的幾個典型開源元件,
它們分別是kafka, redis, linux lvs;
1. kafka
1.1. 簡介
apache kafka 是乙個分布式的基於push-subscribe的訊息系統,它具備快速、可擴充套件、可持久化的特點。
它現在是apache旗下的乙個開源系統,作為hadoop生態系統的一部分,被各種商業公司廣泛應用。
它的最大的特性就是可以實時的處理大量資料以滿足各種需求場景:
比如基於hadoop的批處理系統、低延遲的實時系統、storm/spark流式處理引擎。
kafka的特點:
• 高吞吐量、低延遲:kafka每秒可以處理幾十萬條訊息,它的延遲最低只有幾毫秒
• 可擴充套件性:kafka集群支援熱擴充套件
• 永續性、可靠性:訊息被持久化到本地磁碟,並且支援資料備份防止資料丟失
• 容錯性:允許集群中節點失敗(若副本數量為n,則允許n-1個節點失敗)
• 高併發:支援數千個客戶端同時讀寫
kafka一些重要設計思想
下面介紹先大體介紹一下kafka的主要設計思想,
併發與高併發(二十)高併發 應用拆分思路
這一章節我們將講解高併發解決方案中的應用拆分思路,也可以稱之為系統拆分。單個伺服器再優化,它的處理都是有上限的,因此我們採用擴容 快取 訊息佇列等對程式進行優化,這些手段都可行,但還不是全部。隨著專案的需求要求越來越多,應用自然會跟著越來越大,因此呢,架構師設計出了特別容易擴充套件的方案,從整體將乙...
Redis高併發場景應用
步驟1 先登入你的京東賬號,清空以前購物車,然後新增一件商品a,保證你的購物車只有一件商品a。步驟2 退出登入,購物車新增商品b,然後關閉瀏覽器再開啟。請問 購物車的商品b是否存在?步驟3 再次登入你的京東賬號。請問 你的購物車有幾件商品?往購物車加入2件商品 採用hash資料結果,key cart...
高併發下快取技術應用
背景 在某些電商促消活動中需要搞活動,對某些頁面的訪問量 qps 往往會非常高。如果直接讀資料庫,肯定db會承受不住。那比較常見的方案就是讓大部分相同資訊的請求都盡可能壓在cache上來緩解db的壓力,從而盡可能去滿足高併發訪問的需求 優化 這種快取技術一般用於不會經常變動資訊,並且訪問次數較多的頁...