2022/07/30 –, TR409-2
言語: 漢語
摘要
Apache Kafka 是一個分散式事件串流平台(distributed event-streaming platform),提供訊息的發佈與訂閱。目前有許多知名應用使用,如:LinkedIn, Line, ...等。
而分散式系統會遇到的負載平衡問題,雖然Kafka 在概念上(partition) 有為平衡作考慮,但也是會發生負載平衡問題。為了解決這個問題,我們從客戶端(client) 下手,設計一個訊息分配框架,讓使用者根據自己在意的"效能指標",決定訊息分配的策略。
本研究特別感謝『科學園區計畫-自主高效串流資料管理平台與新興應用』的支持。
說明
Kafka producer 在發送資料時,可以選擇要把資料送到哪個partition,也因此可以從這下手,調整叢集機器間的吞吐。
不同情境會有不同的解決方法,我們設計出一個框架,讓管理員可以藉由參數調整,改變producer 的發送策略,以符合不同的情境。框架的好處在於
- 彈性面對各式情境:
情境有千千百百種,要一一條列解決是不可行的,因此,我們就需要框架來重複利用程式碼,藉由修改參數,滿足多種不同情境。 - no-code 重新組態partitioner:
在no-code 下重新組態partitioner,讓管理員無須完全瞭解底層架構,也能調整partitioner 應對方針。 - 方便自定義:
在未來,若出現新的情境,或許是需要"自定義的數據",只要在程式碼中實作2~3個介面方法,便將程式插入我們的框架,方便自定義。
中階
Target Audience –開發者、有分散式系統概念者
youtube_link –