-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2022] Astraea 技術發表 #238
Comments
分享的部分我認爲按照碩士論文的樣式
我會先開始寫導論與系統架構的部分,預計3月15日前會有一個初版生出來。 |
看看是否方便用google doc分享出來文字的部分 |
IThome的投稿: @garyparrot @qoo332001 麻煩也看一下,我把你們的產出也包含在裡面 :) |
Coscup 2022 的截止日在5/15 有興趣嗎 |
@chia7712
目前按進度先完成了前三個部分,我第一次嘗試寫這東西,說實話不太知道怎麼寫,所以如果有任何建議我會再及時做修改反饋。 後三部分及引用會在之後跟進,具體時間我還有些想法所以需要討論一下再定。 |
@wycccccc 幾個小建議:
第一頁的內容很重要,因為很多審查委員第一頁看一看沒興趣就不會往下看了(我在審業界論文的時候就是這樣),因此要幫這些懶人把重點擺到前面去 |
1.圖都是自己畫得,模糊應該是google文檔的問題 |
@wycccccc 論文可能要解釋為何定義好問題後(處理負載不均),就直接選擇SWRR。例如所謂「低權重的節點長時間處於空閒狀態」這句話是要避免什麼副作用?權重低(負載重)很少被選擇會怎麼樣? 另外我上次會議提到的各種可能問題也要放在未來展望裡面,例如: |
https://drive.google.com/file/d/1gI5Se9Ax9ZHKhjPRKjPpH6rr_hBkcwrZ/view?usp=sharing |
COSCUP投稿議程軌:JVM博覽會 投稿要求撰寫
Proposal titleKafka Partitioner 平衡框架 摘要Apache Kafka 是一個分散式事件串流平台(distributed event-streaming platform),提供訊息的發佈與訂閱。目前有許多知名應用使用,如:LinkedIn, Line, ...等。 說明Kafka producer 在發送資料時,可以選擇要把資料送到哪個partition,也因此可以從這下手,調整叢集機器間的吞吐。
|
幾個建議:
你的貢獻是主要是解決擴充後所帶來的副作用(負載不均),因此要強調一下“擴充性”這件事情的重要。例如:Kafka的性能至關重要不是因為“作為一個分散式系統”,而是要服務大數據。擴充性很重要,是因為要能及時反應不斷膨脹的資料吞苦需求。會造成負載的差異也不是因為“發佈者與訂閱者不一定是相同的”... 總之,這段文字有很多“因為xxx所以ooo",但兩者的關係並沒那麼貼切。要麻煩再潤飾一下
這句很重要,你文章中有說明這個“不平衡”的叢集是合理的嗎?會不會這個狀況根本不可能在真實世界上演?
讀者可能還不知道partitioner是什麼,因此這時候直接用專有名詞可能沒那麼適當。可以考慮比較白話的方式描述,例如:我們重新設計Kafka寫入端的資料路由規則(partitioner),藉由xxx達到oooo
這句太口語了XDD
throughput"效率" -> 贅字
這兩句都是講一樣的事情。可以改一下,例如:”導致叢集資源無法被充分使用"
我們選擇“實作partitioner"來解決這個問題不是因為“Kafka 有曝露出 partitioner 的接口”,而是partitioner是作為資料路由的角色。
record可以用"資料“這個字來取代。有些英文有比較通俗的中文可以用就盡量用,避免文章出現太多中英夾雜的長敘述,不好閱讀
規格寫錯了 8核心
圖的單位要寫,例如 MB/s 晚點會再仔細看一次 |
這邊要說明”透過參數調整改變partitioner"行為的好處,例如使用者可在no-code下重新組態partitioner
結尾用疑問句很像是對自己的產出感到懷疑,應該要用肯定句說,你做的partitioner可以透過參數快速重新組態,以此適應不同情境下的平衡需求 |
謝謝學長的建議,已按照修改。目前我在自己通讀修改,暫時先不用看其他部分。 V2.0版本 |
很高興他不出意外的推遲了,這樣我可以再打磨他一下。 V2.1版本 |
這邊用簡寫似乎不太必要,尤其它全寫不長、同時又是在摘要
比起加入新的partition,加入新的節點應該才是更常用的解法。而且也更好說明為何會負載不均(因為新的節點會是空的)
這裡前因後果的連結不太順,"加入任意機器“這邊要強調會隨機選擇節點加入,才會有後面分布不均
前面那句"kafka在創立xxx"跟後面那句"用戶所希望“也是不同議題。看要不要直接改成”負載不均導致硬體資源無法有效利用“這個論點
這邊的製造要多說一句說這個不平衡的叢集是“真的可能發生”,否則讀者可能會有一種我們故意把kafka弄糟
這句不太確實,因為要用你們的partitioner必須引入新的jar檔。如果你想說jar檔不算軟體...就有點文字遊戲了
這邊的幾乎沒有成本也需要明確說明是什麼成本,同時也要在後面數據中有所呈現。否則就淪為嘴砲了 另外
這邊就很適合改成中文的
這張圖上下部分應該可以重繪成一張圖
cluster可以用中文
結論可以再強調一下提升的數字 最後,整篇論文強調了kafka負載平衡,但缺乏跟現行熱門工具的比較(例如confluent balancer),建議用一個小節來講為何選擇重新設計partitioner,而非做一個balancer。 |
根據學長給出的建議進行了修改,同樣修改的地方用黃色標註了起來。等文字部分的內容確定我會做最後的文檔格式整理。 V3.0版本 |
@wycccccc 感謝更新,越來越有樣子了! 我晚點會在再仔細看一下,不過2.6相關研究中講了目前方法的缺點,但少了一個回馬槍說你提的方法不會有那個缺點 |
這邊的文字看起來還不錯,不過可否將最後那一段文字分別填寫到各個好處的後面,也就是每一個好處的後面再補上文字多講一些細節,這樣使用者不需要在讀最後一段的時候還需要去想哪一個敘述是屬於哪一個好處 |
標題: Apache Kafka 叢集負載平衡 摘要 (300 words)Apache Kafka 爲目前熱門的分散式事件串流平臺,本身自帶各種豐富的功能,比如 Replication, JBOD, Authn/z, Encryption, Compression, At-most/At-least/Exactly once Delivery, Transaction,目前常見的 Kafka 應用包含:高吞吐量的資料管線、串流分析應用和資料整合中介軟體。 隨著叢集經歷上層應用的業務需求增長以及叢集資源使用變化,Kafka 叢集在經過這些現實情境的摧殘後,勢必會遭逢負載不平衡的情況, 放任負載不平衡的情況不顧,最終叢集會遭遇效能瓶頸和叢集穩定性問題。 我們提出了一個開源的高彈性的叢集負載平衡工具 - Astraea Balancer,藉由搬移計劃生成和滿足特定平衡目標的打分機制來做到負載平衡,協助管理者持續維護叢集的和平。 英文摘要:Apache Kafka is a famous distributed event streaming platform that ships with plenty of features & functionalities. For example, Replication, JBOD, Authn/z, Encryption, Compression, At-most/At-least/Exactly once delivery, and Transaction. Some common use-cases covered by Kafka include high-performance data pipelines, streaming analytics, and data integration. A typical Kafka cluster will experience business requirement changes and resource allocation changes. A resource imbalance issue will stem once a Kafka cluster suffers from these everyday situations. If one doesn't handle these issues, a cluster will experience performance problems, which eventually, makes the upper-layer application work unstable. To resolve this issue, we proposed a new open-source cluster balance tool for Apache Kafka. The Astraea Balancer. We take advantage of custom rebalance plan generation and various load balance goals to maintain the stability of a cluster. This will ease the maintenance work for cluster administrators. 講者英文介紹:Cheap graduate students at NCKU. 說明: (Optional)Apache Kafka 爲以 JVM 為底的熱門分散式事件串流平臺,本身支援豐富多變的功能和高擴展性,方便上游應用利用,現今 Apache Kafka 已經被許多知名企業採用於生產環境。 由於業務需求和叢集資源使用的改變,Kafka 叢集勢必會遭逢負載不平衡的情況, 放任負載不平衡的情況,最終叢集會遭遇效能瓶頸和叢集穩定性問題。 對此我們提出了一個開源的 Kafka 叢集負載平衡工具,於伺服器端解決問題:
備忘: (Optional)
Additional Speaker:
其他投稿相關補充資料 (URL)目標聽眾族群:
您所屬的公司或組織: (Optional)留空
內容難易度:中階 其實我發現我們東西還沒完成和測試,所以也不好意思在上面宣揚能夠做到什麼成果。 |
coscup 議程投稿 的 檢閱連結: |
直覺摘要是概觀用來第一眼做審查,有興趣後再看說明做比較深度的理解
就寫你們的成大啊XD |
可以再補充一個「對分散式系統的負載平衡有興趣的朋友」 |
那就要更加緊腳步了!! |
@chia7712 作者應該可以寫好幾個,我就按照學弟的樣式把三個寫上去。 |
@wycccccc 內容就差不多這樣,衝一發 |
COSCUP 議程投稿 的 檢閱連結: @qoo332001, @chia7712 我有把你們加到 submitter 內,還麻煩查看一下 Email,謝謝。 |
done |
@chinghongfang @garyparrot @qoo332001 要麻煩你們弄一些文字讓我看一下大概會講的內容和方向喔~或是你們直接準備投影片也可以,不過不要一次弄完,先弄個幾頁重點讓我知道你們主要講的項目 |
如下為準備上傳的定稿,根據郵件內容稍作了一些修改: |
@wycccccc 致謝的部分可否把"原昌工業“也加上去,例如
|
這樣一併感謝可以嘛,還是需要分段。 |
一併就好,以免拖太長 |
@wycccccc 我們稍微把感謝的部分寫得更簡單一點,不用把贊助了什麼具體寫出來,例如:
|
@wycccccc 感謝! |
有些小圖標因為線上ppt會跑掉,但不影響觀看。大體上會長這樣,講稿我還在寫,禮拜五前肯定能搞定。 |
@wycccccc 感謝這麼快完成投影片,幾個建議
上面建議主要集中在格式,至於內容的部分等禮拜五聽完再討論一次 |
COSCUP 發表,被題問題: |
@chinghongfang 你覺得這個是一個需要處理的議題嗎? |
partition 節點掉線,producer 就會一直嘗試重新傳送,直到重新傳送次數達 "指定數量" (retries) 或 超過"指定時間"(delivery.timeout.ms),重新傳送都失敗的話,可以由使用者傳入的 簡單來說,就是 KafkaProdcer 會重試,真的不行就交由使用者處理。 但其實 Kafka 當然有設計成 "節點掉線,仍有備案"。 我覺得,應該是演講忽略了複雜的部份,讓觀眾產生了疑問。上述回答應該可以滿足觀眾的問題,但也許在演講時,便可以稍微題一下忽略的部份,讓聽眾有更全面的瞭解。
我覺得 Kafka 處理得很妥當(重試,真不行再給使用者),也具有彈性。藉由調整次數,使用者也可以讓 producer 不要重傳,自己接手處理。 |
一個延伸的討論:如果某個partition是不可以使用的,那麼partitioner 在得知這個訊息之前,會不會導致演算法一直選到死掉的partition? |
此議題已經由 #886 加入首頁,因此關閉 |
醜婦終須見公婆,有個場合和機會展示一下我們的努力總是一件好事,類型比較合適的活動如下:
演講錄影:
https://www.youtube.com/watch?v=s-icLoa1iHc&feature=youtu.be
The text was updated successfully, but these errors were encountered: