記一次kafka的high level和low level
php rdkafka
之前的業務用的rdkafka的low level進行訊息消費,沒什麼問題
今天一個新業務,申請的新的broker和topic,結果low level就消費不到資料了
後來改成了high level(https://arnaud-lb.github.io/php-rdkafka/phpdoc/rdkafka.examples-high-level-consumer.html)可以消費到了,問題是解決了,但新的疑問又來了:high level 和 low level 有啥區別。
看了看,大致瞭解了一下。以前以為 high level 比 low level 有 "higher" 、"deeper" 的用法,通過查閱,發現理解反了,他這high和low就像語言一樣,php是高階語言,彙編是低階語言,是這麼個high和low,越low越高效,但要求也越高。
總的區別就是,high level 和 low level 的區別就是 high level遮蔽了一些細節,比如往哪個partition發,offset咋存往哪兒存,說白了只把kafka作為純fifo使用,low level的話,自己可以自定義往哪個partition上發訊息,包括存offset的處理都可以自己搞,去自定義。
我當時讀不到,只是說明“驢脣對不上馬嘴”,訊息的生產者把訊息發到了哪個partition我不知道,但我用low level消費的時候指定了partition(這也說明對這個擴充套件的瞭解還是不夠),只消費這個partition的訊息,當然不一定有了。改成high level後就變了,我不管你哪個partition有新鮮的訊息,我都要消費。
參考:http://www.infoq.com/cn/articles/kafka-analysis-part-4
相關文章
- GHD Hair Straighteners a low levelAI
- Unity Low-level Native Plugin InterfaceUnityPlugin
- Elasticsearch Java Low Level REST Client(初始化)ElasticsearchJavaRESTclient
- Elasticsearch Java Low Level REST Client(執行請求)ElasticsearchJavaRESTclient
- Everyone should be using low level caching in RailsAI
- Elasticsearch Java High Level REST Client(入門)ElasticsearchJavaRESTclient
- Elasticsearch Java High Level REST Client(Delete API)ElasticsearchJavaRESTclientdeleteAPI
- Elasticsearch Java High Level REST Client(Exists API)ElasticsearchJavaRESTclientAPI
- Java操作Elasticsearch 之 [Java High Level REST Clientedit]JavaElasticsearchRESTclient
- [論文][半監督語義分割]Semi-Supervised Semantic Segmentation with High- and Low-level ConsistencySegmentation
- SpringBoot:Java High Level REST Client 搜尋 APISpring BootJavaRESTclientAPI
- Level Up
- Unity Networking API文件翻譯(二):The High Level APIUnityAPI
- 創新工場王嘉平開講:low-level的計算機視覺計算機視覺
- springboot整合elasticsearch7.2(基於官方high level client)Spring BootElasticsearchclient
- natas(level0-level14)通關詳細指南(一)
- transaction-level or statement-level consistency; check constraintsAI
- CSS LEVEL4CSS
- Oracle level偽列Oracle
- Oracle statistic_levelOracle
- E. Level Up
- 詳細解析rand()%(high-low+1)+low
- Lode Runner 2 Credits Level
- es筆記五之term-level的查詢操作筆記
- ARM和GCC最佳化等級optimization levelGC
- 【SQL 學習】LEVEL 偽列SQL
- XMLHttpRequest Level 2 使用指南XMLHTTP
- IPMP面試“秘笈”(Level C)(轉)面試
- 電平(level)&脈衝(pulse)
- BUU_jarvisoj_level0JAR
- Oracle的隔離級別(Isolation Level)Oracle
- 分散式監控系統Zabbix-3.0.3-完整安裝記錄(3)-監控nginx,php,memcache,Low-level discovery磁碟IO分散式NginxPHP
- RuneScape - To verify your level of combatBAT
- lambda expressions are not supported at this language level intellijExpressIntelliJ
- Azure PIP (Instance Level Public IP)
- full backup 與 level 0 incremental backupREM
- 24、關於incremental level 0 backupREM
- 分析函式學習1 level函式