【原创】kafka client源代码分析
生活随笔
收集整理的這篇文章主要介紹了
【原创】kafka client源代码分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
該包下只有一個文件:ClientUtils.scala。它是一個object,里面封裝了各種client(包括producer,consumer或admin)可能會用到的方法:
1. fetchTopicMetadata(producer版本): producer client會調(diào)用該方法來發(fā)送一個TopicMetadata請求,最后返回該請求對應(yīng)的response。具體邏輯如下:- 構(gòu)造一個TopicMetadataRequest請求
- 將給定的broker列表按照隨機順序打散以防止大量的請求被路由到同一個broker上
- 遍歷打亂順序后的broker列表,嘗試著為每一個broker構(gòu)造一個sync producer連向它并發(fā)送請求,如果成功就退出遍歷,否則就記錄一個警告信息然后嘗試下一個broker
- 但如果遍歷完之后request都沒有被成功發(fā)送,拋出異常退出,否則返回得到的response
轉(zhuǎn)載于:https://www.cnblogs.com/huxi2b/p/4563469.html
總結(jié)
以上是生活随笔為你收集整理的【原创】kafka client源代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#微信开发小白成长教程二(新手接入指南
- 下一篇: 批量解锁源代码管理器的文件命