kafka 生产者与消费者 0.10版本

生产者:

public static void main(String[] args) throws Exception{


Properties properties = new Properties();
properties.setProperty("bootstrapServers","192.168.201.46:19092");

MqContext mqCtx = MqFactory.createContext(Providers.KAFKA.name(),properties);

mqCtx.listen();

List<MqMessage> messageList = new ArrayList<>();
long s1 = System.currentTimeMillis();
for(int i = 1;i<=10;i++){

TextMessage message = new TextMessage();
message.setQueue("test-k01");
message.setStringBody("testT 的 table id 跟 TABLE_MAP_EVENT 一样,虽然 table id 可能变化,但是 ROWS_EVENT 和 TABLE_MAP_EVENT 的 table id 是能保证一致的,所以我们也是通过这个来找到对应的 TABLE_MAP_EVENT。为了节省空间,ROWS_EVEN");
messageList.add(message);
if(i % 5 == 0 && i!=0){
mqCtx.put(messageList);
messageList.clear(); 
System.out.println(i);
}


}
long s2 = System.currentTimeMillis();
System.out.println(s2-s1);
// mqCtx.close();


// ProducerSendThread

}

消费者:

Properties props = new Properties();
props.put("bootstrap.servers", bootstrap);
props.put("group.id", group);
props.put("enable.auto.commit", "true"); //自动commit
props.put("auto.commit.interval.ms", "1000"); //定时commit的周期
props.put("session.timeout.ms", "30000"); //consumer活性超时时间
props.put("auto.offset.reset",offset);
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("key.deserializer.encoding", "UTF8");
props.put("value.deserializer.encoding", "UTF8");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList(topic));
while (!isStop) {
ConsumerRecords<String, String> records = consumer.poll(Long.MAX_VALUE);
for (ConsumerRecord<String, String> record : records){
try{
System.out.println(record);
}catch (Exception e){
e.printStackTrace();
}
}
}


auto.offset.reset值含义解释
earliest 
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费 
latest 
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据 
none 
topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值