国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一個基于Kafka客戶端封裝的工具,Kafka開發(fā)效率神器

這篇具有很好參考價值的文章主要介紹了一個基于Kafka客戶端封裝的工具,Kafka開發(fā)效率神器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

GitHub源碼https://github.com/zhangchuangiie/SimpleKafka

SimpleKafka(Kafka客戶端封裝工具類)

一個基于Kafka客戶端封裝的工具,Kafka開發(fā)效率神器

特點:

  1. 封裝了常用的Kafka客戶端操作,無需維護配置,無需初始化客戶端,真正實現(xiàn)了一行代碼調(diào)用
  2. 將連接池的維護封裝在工具類里面,多線程使用也無需維護客戶端集合

使用方式:

只需要集成1個KafkaUtil.java文件即可,修改里面的kafka服務(wù)地址即可

典型示例:

  1. 同步生產(chǎn):?LinkedHashMap<String, Object> recordMeta = KafkaUtil.sendToKafka("RULEa93304e6d844000","222","aaaa");
  2. 異步生產(chǎn):?KafkaUtil.sendToKafkaAsync("RULEa93304e6d844000", "222", "aaaa");
  3. 消費數(shù)據(jù):?ArrayList<LinkedHashMap<String, Object>> buffer = KafkaUtil.recvFromKafka("RULEa93304e6d844000", "group1");
  4. 重置偏移:?KafkaUtil.resetOffsetToEarliest("RULEa93304e6d844000", "group1");

接口介紹:

  1. kafkaListTopics:?topic列表
  2. createTopic:?topic創(chuàng)建
  3. delTopic:?topic刪除
  4. partitionsTopic:?topic的分區(qū)列表,分區(qū)和副本數(shù)
  5. delGroupId:?刪除groupId
  6. descCluster:?集群的節(jié)點列表
  7. kafkaConsumerGroups:?消費者列表
  8. kafkaConsumerGroups:?指定topic的活躍消費者列表
  9. sendToKafka:?生產(chǎn)數(shù)據(jù)到指定的topic,同步接口{"topic":"RULEa93304e6d844000","partition":1,"offset":681}
  10. sendToKafkaAsync:?生產(chǎn)數(shù)據(jù)到指定的topic,異步接口,默認回調(diào)
  11. sendToKafkaAsync:?生產(chǎn)數(shù)據(jù)到指定的topic,異步接口,自定義回調(diào)
  12. recvFromKafka:?按groupId消費指定topic的數(shù)據(jù)[{"topic":"RULEa93304e6d844000","key":"222","value":"aaaa","partition":1,"offset":681}]
  13. recvFromKafkaByOffset:?消費指定topic指定partition對應(yīng)的offset數(shù)據(jù)
  14. recvFromKafkaByTimestamp:?消費指定topic指定partition對應(yīng)的timestamp以后的數(shù)據(jù)
  15. resetOffsetToTimestamp:?重置指定topic的offset到對應(yīng)的timestamp
  16. resetOffsetToEarliest:?重置指定topic的offset到最早
  17. resetOffsetToLatest:?重置指定topic的offset到最晚,一般在跳過測試臟數(shù)據(jù)時候使用
  18. consumerPositions:?獲取當前消費偏移量情況{"partitionNum":2,"dataNum":1,"lagNum":0,"positions":[{"partition":0,"begin":0,"end":0,"current":0,"current1":0,"size":0,"lag":0},{"partition":1,"begin":681,"end":682,"current":682,"current1":682,"size":1,"lag":0}]}
  19. topicSize:?獲取指定topic數(shù)據(jù)量詳情情況 [{"partition": 0,"begin": 65,"end": 65,"size": 0}]
  20. topicSizeAll:?獲取所有topic數(shù)據(jù)量詳情情況
  21. topicSizeStatistics:?獲取指定topic數(shù)據(jù)量統(tǒng)計{"partitionNum":5452,"dataNum":41570647}
  22. topicSizeStatisticsAll:?獲取所有topic數(shù)據(jù)量統(tǒng)計{"topicNum":2550,"partitionNum":5452,"dataNum":41570647}

接口列表:

  1. kafkaListTopics:?List kafkaListTopics()
  2. createTopic:?void createTopic(String topic)
  3. delTopic:?void delTopic(String topic)
  4. partitionsTopic:?List partitionsTopic(String topic)
  5. delGroupId:?void delGroupId(String groupId)
  6. descCluster:?List descCluster()
  7. kafkaConsumerGroups:?List kafkaConsumerGroups()
  8. kafkaConsumerGroups:?List kafkaConsumerGroups(String topic)
  9. sendToKafka:?LinkedHashMap<String, Object> sendToKafka(String topic, String key, String value)
  10. sendToKafkaAsync:?void sendToKafkaAsync(String topic, String key, String value)
  11. sendToKafkaAsync:?void sendToKafkaAsync(String topic, String key, String value,Callback callback)
  12. recvFromKafka:?ArrayList<LinkedHashMap<String, Object>> recvFromKafka(String topic, String groupId)
  13. recvFromKafkaByOffset:?ArrayList<LinkedHashMap<String, Object>> recvFromKafkaByOffset(String topic, String groupId,int partition,long offset)
  14. recvFromKafkaByTimestamp:?ArrayList<LinkedHashMap<String, Object>> recvFromKafkaByTimestamp(String topic, String groupId,int partition,long timestamp)
  15. resetOffsetToTimestamp:?boolean resetOffsetToTimestamp(String topic, String groupId, long timestamp)
  16. resetOffsetToEarliest:?boolean resetOffsetToEarliest(String topic, String groupId)
  17. resetOffsetToLatest:?boolean resetOffsetToLatest(String topic, String groupId)
  18. consumerPositions:?List<LinkedHashMap<String, Object>> consumerPositions(String topic, String groupId)
  19. topicSize:?List<LinkedHashMap<String, Object>> topicSize(String topic)
  20. topicSizeAll:?LinkedHashMap<String, Object> topicSizeAll()
  21. topicSizeStatistics:?LinkedHashMap<String, Object> topicSizeStatistics(String topic)
  22. topicSizeStatisticsAll:?LinkedHashMap<String, Object> topicSizeStatisticsALL()

示范應(yīng)用:

為了說明該工具的效用,基于該工具實現(xiàn)了一個HTTP接口的消息隊列服務(wù),該服務(wù)只用了幾十行代碼,就實現(xiàn)了基于標簽內(nèi)容的發(fā)布訂閱服務(wù),服務(wù)見APIKafka.java,客戶端示例見ClientKafka.java。

該服務(wù)支持生產(chǎn)者任意標注標簽,支持消費者按表達式條件訂閱數(shù)據(jù),表達式支持與或非,支持集合查找,以及字符串子串匹配。

同時也支持消息回溯消費已經(jīng)消息統(tǒng)計查詢。

實現(xiàn)了流式消息檢索的基本需求。?

一個基于Kafka客戶端封裝的工具,Kafka開發(fā)效率神器,kafka,java

APIKafka,支持生產(chǎn)者任意標注標簽,標簽是開放的,可以是任意JSON,Key無需預(yù)先定義和Value也不必是枚舉值,支持消費者按表達式條件訂閱數(shù)據(jù),支持開源表達式語言O(shè)GNL,包括支持與或非,支持對象取值,支持數(shù)組和集合的訪問,也支持Java表達式,常用的有contains,startsWith,endsWith,length等,也支持matches正則匹配??梢詽M足流式消息檢索的各種匹配要求。

聯(lián)系人:

有問題可以聯(lián)系:zhangchuang@iie.ac.cn文章來源地址http://www.zghlxwxcb.cn/news/detail-754696.html

到了這里,關(guān)于一個基于Kafka客戶端封裝的工具,Kafka開發(fā)效率神器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • AWS 中文入門開發(fā)教學(xué) 36- 連接MySQL - MySQL客戶端工具

    AWS 中文入門開發(fā)教學(xué) 36- 連接MySQL - MySQL客戶端工具

    在EC2安裝 MySQL 客戶端工具,連接到 MySQL RDS 數(shù)據(jù)庫實例 拷貝數(shù)據(jù)庫終端節(jié)點 安裝 MySQL 客戶端命令行工具 連接到 MySQL 服務(wù)器實例 建立數(shù)據(jù)表 添加數(shù)據(jù)

    2024年02月12日
    瀏覽(44)
  • 【libevent】http客戶端3:簡單封裝

    LibEventHttp

    2024年02月15日
    瀏覽(19)
  • Kafka-客戶端使用

    Kafka-客戶端使用

    Kafka提供了兩套客戶端API,HighLevel API和LowLevel API。 HighLevel API 封裝了kafka的運行細節(jié),使用起來比較簡單,是企業(yè)開發(fā)過程中最常用的客戶端API。 LowLevel API則需要客戶端自己管理Kafka的運行細節(jié),Partition,Offset這些數(shù)據(jù)都由客戶端自行管理。這層API功能更靈活,但是使用起來

    2024年02月22日
    瀏覽(19)
  • 基于.Net開發(fā)的ChatGPT客戶端,兼容Windows、IOS、安卓、MacOS、Linux

    基于.Net開發(fā)的ChatGPT客戶端,兼容Windows、IOS、安卓、MacOS、Linux

    2023年目前要說最熱的點,肯定是ChatGPT了。 ChatGPT官方提供的網(wǎng)頁版本,還有需要科*上網(wǎng),很多人都會基于此進行封裝。 現(xiàn)在是移動互聯(lián)網(wǎng)時代,基于手機APP的需求還是很大的。 所以,今天給大家推薦一個ChatGPT客戶端開源項目,兼容蘋果和安卓手機、PC。 這是基于C#開發(fā)的客

    2023年04月20日
    瀏覽(28)
  • kafka 02——三個重要的kafka客戶端

    kafka 02——三個重要的kafka客戶端

    請參考下面的文章: Kafka 01——Kafka的安裝及簡單入門使用. AdminClient API: 允許管理和檢測Topic、Broker以及其他Kafka對象。 Producer API: 發(fā)布消息到一個或多個API。 Consumer API: 訂閱一個或多個Topic,并處理產(chǎn)生的消息。 如下: 完整的pom 關(guān)于配置,可參考官網(wǎng): https://kafka.apa

    2024年02月13日
    瀏覽(26)
  • kafka客戶端應(yīng)用參數(shù)詳解

    kafka客戶端應(yīng)用參數(shù)詳解

    Kafka提供了非常簡單的客戶端API。只需要引入一個Maven依賴即可: 1、消息發(fā)送者主流程? 然后可以使用Kafka提供的Producer類,快速發(fā)送消息。 ? 整體來說,構(gòu)建Producer分為三個步驟: 設(shè)置Producer核心屬性 ?:Producer可選的屬性都可以由ProducerConfig類管理。比如ProducerConfig.BOOTST

    2024年02月07日
    瀏覽(26)
  • MQTT記錄(概述,docker部署,基于spring-integration-mqtt實現(xiàn)消息訂閱與發(fā)布,客戶端工具測試)

    MQTT記錄(概述,docker部署,基于spring-integration-mqtt實現(xiàn)消息訂閱與發(fā)布,客戶端工具測試)

    需要spring-boot集成spring-integration-mqtt代碼的直接跳到第5部分 1.1 MQTT是什么呢? message queue telemetry translation 是一種基于發(fā)布與訂閱的輕量級消息傳輸協(xié)議.適用于低帶寬或網(wǎng)絡(luò)不穩(wěn)定的物聯(lián)網(wǎng)應(yīng)用.開發(fā)者可以使用極少的代碼來實現(xiàn)物聯(lián)網(wǎng)設(shè)備之間的消息傳輸.mqtt協(xié)議廣泛應(yīng)用于物

    2024年02月12日
    瀏覽(21)
  • kafka之java客戶端實戰(zhàn)

    kafka之java客戶端實戰(zhàn)

    ????????Kafka提供了兩套客戶端API, HighLevel API和LowLevel API 。 HighLevel API封裝了kafka的運行細節(jié),使用起來比較簡單,是企業(yè)開發(fā)過程中最常用的客戶端API。 而LowLevel API則需要客戶端自己管理Kafka的運行細節(jié),Partition,Offset這些數(shù)據(jù)都由客戶端自行管理。這層API功能更靈活,

    2024年01月17日
    瀏覽(22)
  • 自定義kafka客戶端消費topic

    使用自定義的KafkaConsumer給spring進行管理,之后在注入topic的set方法中,開單線程主動訂閱和讀取該topic的消息。 后端服務(wù)不需要啟動時就開始監(jiān)聽消費,而是根據(jù)啟動的模塊或者用戶自定義監(jiān)聽需要監(jiān)聽或者停止的topic 使用的spring集成2.1.8.RELEASE的版本,在@KafkaListener注解中沒

    2024年02月02日
    瀏覽(19)
  • kafka:java集成 kafka(springboot集成、客戶端集成)

    kafka:java集成 kafka(springboot集成、客戶端集成)

    摘要 對于java的kafka集成,一般選用springboot集成kafka,但可能由于對接方kafka老舊、kafka不安全等問題導(dǎo)致kafak版本與spring版本不兼容,這個時候就得自己根據(jù)kafka客戶端api集成了。 一、springboot集成kafka 具體官方文檔地址:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/

    2023年04月22日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包