当前位置: 首页 > news >正文

军棋是哪个网站开发的网站建设外地便宜

军棋是哪个网站开发的,网站建设外地便宜,有了域名怎么做自己得网站,吉林市哪有做网站的位移提交: Kafka的每条消息都有唯一的 offset, 用来表示消息在分区中对应的位置。有的也称之为 “偏移量”。 消费者每次在 poll() 拉取消息,它要返回的是还没有消费过的消息集, 因此,需要记录上一次消费时的消费位…

位移提交:

Kafka的每条消息都有唯一的 offset, 用来表示消息在分区中对应的位置。有的也称之为 “偏移量”。

消费者每次在 poll() 拉取消息,它要返回的是还没有消费过的消息集,

因此,需要记录上一次消费时的消费位移,并且持久化。

消费者在消费完消息之后,需要执行消费位移的提交。

自动位移提交:

Kafka默认的消费位移的提交方式是 自动提交。

自动提交,由消费者客户端参数 enable.auto.commit 配置,默认值是 true。

默认的自动提交,是定期提交,提交的周期由 auto.commit.interval.ms 配置,默认是 5s。

自动位移提交,有可能会重复消费和消息丢失。

假设刚刚提交完一次消费位移,然后拉取一批消息进行消费,在下一次自动提交消费位移之前,消费者崩溃了,那又得从上一次位移提交的地方重新开始消费,这样就会重复消费。

手动位移提交:

手动位移提交,由消费者客户端参数 enable.auto.commit 配置, 设置为 false 就是手动位移提交。

手动位移提交,可以分为 同步提交、异步提交。

commitSync() 同步提交

同步提交,会阻塞消费者线程直到位移提交完成。

示例代码:

public class OffsetCommitSync {public static final String BROKER_LIST = "localhost:9092";public static final String TOPIC = "myTopic1";public static final String GROUP_ID = "group.demo";public static void main(String[] args) {Properties props = initConfig();KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);//消费者订阅主题consumer.subscribe(Collections.singletonList(TOPIC));while (true) {ConsumerRecords<String, String> records = consumer.poll(1000);for (ConsumerRecord<String, String> record : records) {//do something}//手动提交位移consumer.commitSync();System.out.println("手动提交位移成功.");}}public static Properties initConfig() {Properties props = new Properties();props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BROKER_LIST);props.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID);props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");//不自动提交,采用手动提交props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);return props;}}

commitAsync() 异步提交 :

异步提交,在执行的时候消费者线程不会被阻塞,可能在提交消费位移的结果还未返回之前就开始了新一次的拉取操作。异步提交,可以使消费者的性能得到一定的增强。

异步提交,将 consumer.commitSync(); 换成 commitAsync。

如果还需要回调,就用 OffsetCommitCallback对象作为参数。

示例如下:

public class OffsetCommitAsyncCallback {public static final String BROKER_LIST = "localhost:9092";public static final String TOPIC = "myTopic1";public static final String GROUP_ID = "group.demo";public static void main(String[] args) {Properties props = initConfig();KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);consumer.subscribe(Collections.singletonList(TOPIC));while (true) {ConsumerRecords<String, String> records = consumer.poll(1000);for (ConsumerRecord<String, String> record : records) {//do something}//异步回调,如果不需要回调,就采用无参的方法consumer.commitAsync(new OffsetCommitCallback() {@Overridepublic void onComplete(Map<TopicPartition, OffsetAndMetadata> offsets,Exception exception) {if (exception == null) {System.out.println(offsets);} else {log.error("fail to commit offsets {}", offsets, exception);}}});}}public static Properties initConfig() {Properties props = new Properties();props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BROKER_LIST);props.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID);props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);return props;}}

参考资料:

《深入理解kafka:核心设计与实践原理》

http://www.yayakq.cn/news/707535/

相关文章:

  • 如何对网站做引擎优化做散客机票的网站如何推广
  • 小型网站建设参考文献设计公司logo需要多少钱
  • sae网站备案设计师服务平台官网
  • 推广 quot 网站开发 quot网站个人备案需要什么
  • 网站建设企业类型是什么主流网站开发技术
  • 设置网站建设网站水印怎么做的
  • 网站游戏入口西安大型网站制作
  • 郑州网站建设伟置盐地网站建设公司
  • 网站制作哪家便宜相册网站模板
  • 外贸上哪个网站开发客户wordpress设置ssl不成功
  • 云主机重装系统后网站重新部署吗网站开发招标文件范本
  • html5 手机 手机网站wordpress 规则
  • 网站建设专业团队图片做网站的公司叫什么软件
  • 江西省住房建设厅统计网站电子商务和网站建设区别
  • 网站建设方案数百度百科合作模式
  • 做网站公网站一年维护费用多少
  • 网站建设合作协议模板河北住房和城乡建设厅网站卡
  • 最简单的网站建设语音泰安网站优化公司
  • 网站添加微信分享代码微商分销系统怎么做
  • 做网站注册商标哪一类湛江网站建设方案推广
  • 做dj平台网站浠水做网站的
  • 网站建设工作简介中国万网官网
  • 网站跳转是什么意思佛山网页设计师
  • 箱包官方网站模板设计公司的网站
  • 网站建设系统设计中国建设银行属于什么类型网站
  • 网站建设招标 报告汉中网站建设推广
  • 中专网站建设课程wordpress支付方案解决
  • 国内跨境电商建站系统四川手机网站
  • 我想学习做网站费县做网站
  • thinkphp做的网站核工业南京建设集团有限公司