您好,登錄后才能下訂單哦!
這篇文章主要介紹“kafka基于producer與consumer的方法是什么”,在日常操作中,相信很多人在kafka基于producer與consumer的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”kafka基于producer與consumer的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
producer:
Properties props = new Properties(); props.put("bootstrap.servers", "node0:9092,node1:9092,node2:9092"); props.put("acks", "all"); props.put("retries", 0); props.put("batch.size", 16384); props.put("linger.ms", 1); props.put("buffer.memory", 33554432); props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); Producer<String, String> producer = new KafkaProducer<String, String>(props);for (int i = 0; i < 100; i++) producer.send(new ProducerRecord<String, String>("my-topic", Integer.toString(i), Integer.toString(i))); producer.close();
consumer:
Properties props = new Properties(); props.put("bootstrap.servers", "node0:9092,node1:9092,node2:9092"); props.put("group.id", "test"); props.put("enable.auto.commit", "true"); props.put("auto.commit.interval.ms", "1000"); props.put("session.timeout.ms", "30000"); props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(props); consumer.subscribe(Arrays.asList("my-topic"));while (true) { ConsumerRecords<String, String> records = consumer.poll(100);for (ConsumerRecord<String, String> record : records) System.out.printf("offset = %d, key = %s, value = %s \n\r", record.offset(), record.key(), record.value()); }
新的api相對老的版本,可讀性更好了一些,少了一些可讀性比較差的東西,用起來方便了很多。
但是有一點比較遺憾,同時還想要試驗一下kafkastream,但是從java doc上找到的例子代碼,居然和下來的jar包不匹配,不知道什么原因。
到此,關于“kafka基于producer與consumer的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。