2022/07/30 –, TR409-2
言語: 漢語
Apache Kafka 爲目前熱門的分散式事件串流平臺,本身自帶各種豐富的功能,比如 Replication, JBOD, Authn/z, Encryption, Compression, At-most/At-least/Exactly once Delivery, Transaction,目前常見的 Kafka 應用包含:高吞吐量的資料管線、串流分析應用和資料整合中介軟體。
隨著叢集經歷上層應用的業務需求增長以及叢集資源使用變化,Kafka 叢集在經過這些現實情境的摧殘後,勢必會遭逢負載不平衡的情況, 放任負載不平衡的情況不顧,最終叢集會遭遇效能瓶頸和叢集穩定性問題。
我們提出了一個開源的高彈性的叢集負載平衡工具 - Astraea Balancer,藉由搬移計劃生成和滿足特定平衡目標的打分機制來做到負載平衡,協助管理者持續維護叢集的和平。
本研究特別感謝『科學園區計畫-自主高效串流資料管理平台與新興應用』和『教育部開源人培計劃』的支持。
Apache Kafka 爲以 JVM 為底的熱門分散式事件串流平臺,本身支援豐富多變的功能和高擴展性,方便上游應用利用,現今 Apache Kafka 已經被許多知名企業採用於生產環境。
由於業務需求和叢集資源使用的改變,Kafka 叢集勢必會遭逢負載不平衡的情況, 放任負載不平衡的情況,最終叢集會遭遇效能瓶頸和叢集穩定性問題。
對此我們提出了一個開源的 Kafka 叢集負載平衡工具,於伺服器端解決問題:
- 高彈性架構:負載平衡目標可重新定義,套用自己在意的負載平衡目標對症下藥
- 自動把關負載平衡過程:Kafka 伺服器端的負載平衡涉及很顯著的資料複製代價,我們將有一個機制確保負載平衡不影響上游應用運行。
對 Apache Kafka 有興趣的朋友、對分散式系統的負載平衡有興趣的朋友
Difficulty –中階
youtube_link –