開源人年會 2022

Kafka Partitioner 平衡框架
2022年7月30日 , TR409-2
語言: 漢語

摘要

Apache Kafka 是一個分散式事件串流平台(distributed event-streaming platform),提供訊息的發佈與訂閱。目前有許多知名應用使用,如:LinkedIn, Line, ...等。
而分散式系統會遇到的負載平衡問題,雖然Kafka 在概念上(partition) 有為平衡作考慮,但也是會發生負載平衡問題。為了解決這個問題,我們從客戶端(client) 下手,設計一個訊息分配框架,讓使用者根據自己在意的"效能指標",決定訊息分配的策略。

本研究特別感謝『科學園區計畫-自主高效串流資料管理平台與新興應用』的支持。


說明

Kafka producer 在發送資料時,可以選擇要把資料送到哪個partition,也因此可以從這下手,調整叢集機器間的吞吐。
不同情境會有不同的解決方法,我們設計出一個框架,讓管理員可以藉由參數調整,改變producer 的發送策略,以符合不同的情境。框架的好處在於

  1. 彈性面對各式情境:
    情境有千千百百種,要一一條列解決是不可行的,因此,我們就需要框架來重複利用程式碼,藉由修改參數,滿足多種不同情境。
  2. no-code 重新組態partitioner:
    在no-code 下重新組態partitioner,讓管理員無須完全瞭解底層架構,也能調整partitioner 應對方針。
  3. 方便自定義:
    在未來,若出現新的情境,或許是需要"自定義的數據",只要在程式碼中實作2~3個介面方法,便將程式插入我們的框架,方便自定義。

內容難易度

中階

目標聽眾族群

開發者、有分散式系統概念者

youtube_link

https://www.youtube.com/watch?v=srIHOnCMHbQ

負責協調客戶和大數據之間的糾紛,同時熱衷參與開源專案,強迫他們接受來自台灣的技術善意

此講者還出現在:

畢業於國立成功大學數學系,現在就讀國立成功大學資訊工程研究所。現於分散式系統實驗室,和團隊一起研究Kafka負載平衡議題。

https://hackmd.io/@7y4UQB2gRoSQRw5iAm-5lw/chinghongfang

此講者還出現在:

成功大學的研究生,目前在處理 Apache Kafka 伺服器端的負載平衡議題 (ง๑ •̀_•́)ง

此講者還出現在:

成大資訊研究生

此講者還出現在:

畢業於逢甲大學機械與電腦輔助工程學系,今年25歲。

此講者還出現在: