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

网站尾部wordpress 多语言 主题

网站尾部,wordpress 多语言 主题,主做熟人推荐的招聘网站,中国工程项目网站#作者:张桐瑞 文章目录 一、Kafka 与传统消息引擎的核心差异二、重设消费者组位移的核心原因三、重设位移的两大维度与七种策略四、重设位移的实现方式(一)Java API 方式(二)命令行脚本方式(Kafka 0.11&am…

#作者:张桐瑞

文章目录

  • 一、Kafka 与传统消息引擎的核心差异
  • 二、重设消费者组位移的核心原因
  • 三、重设位移的两大维度与七种策略
  • 四、重设位移的实现方式
    • (一)Java API 方式
    • (二)命令行脚本方式(Kafka 0.11+)
  • 五、注意事项

一、Kafka 与传统消息引擎的核心差异

特性Kafka传统消息引擎(如 RabbitMQ、ActiveMQ)
消息处理方式基于日志结构,只读不删除,支持消息重演破坏性处理,成功消费后删除消息
位移控制消费者自主控制位移,可灵活修改实现重复消费由中间件自动管理,通常无法回溯
适用场景高吞吐量、低单消息处理耗时、强顺序性要求复杂消息处理逻辑、弱顺序性要求

二、重设消费者组位移的核心原因

  1. 重复消费历史数据
    1)修正消费逻辑错误后,需要重新处理历史消息。
    2)业务需求变更(如数据重新计算、补写下游存储)。
  2. 跳过异常消息
    1)处理 corrupted 消息或消费逻辑抛出异常时,通过指定位移跳过无效消息。
  3. 动态调整消费进度
    2)基于时间维度(如消费近 30 分钟数据)或位移维度(如从最新 / 最早位置开始)灵活调整消费起点。
  4. 回滚消费进度
    1)代码变更失败后,需回滚到历史位移继续消费。

三、重设位移的两大维度与七种策略

(一)位移维度策略

策略说明典型场景
Earliest重置到主题当前最早位移(可能大于 0,受日志保留策略影响)重新消费主题所有可保留的历史消息
Latest重置到主题最新末端位移跳过所有历史消息,从最新消息开始消费
Current重置到消费者当前提交的最新位移回滚代码变更后,恢复到重启前的消费位置
Specified-Offset指定绝对位移值手动跳过某条异常消息(如位移 1234)
Shift-By-N指定相对位移偏移量(N 可正可负)向前跳过 100 条(N=-100)或向后跳过 50 条(N=50)

(二)时间维度策略

策略说明格式要求典型场景
DateTime重置到指定时间之后的最小位移YYYY-MM-DDTHH:mm:ss.SSS(如2023-10-01T12:00:00.000)重新消费昨天 0 点之后的数据
Duration重置到相对当前时间的间隔位移符合 ISO-8601 的PnDTnHnMnS(如PT15M表示 15 分钟前)消费 30 分钟前的所有消息

四、重设位移的实现方式

(一)Java API 方式

核心方法

方法作用
seek(TopicPartition partition, long offset)为单个分区设置绝对位移
seekToBeginning(Collection<TopicPartition> partitions)将多个分区重置到最早位移
seekToEnd(Collection<TopicPartition> partitions)将多个分区重置到最新位移
offsetsForTimes(Map<TopicPartition, Long> timestamps)根据时间戳查找对应的位移

示例代码

  1. Earliest 策略
Properties props = new Properties();
props.put(ConsumerConfig.GROUP_ID_CONFIG, "test-group");
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
try (KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props)) {consumer.subscribe(Collections.singleton("test-topic"));consumer.poll(0); // 触发元数据更新List<TopicPartition> partitions = consumer.partitionsFor("test-topic").stream().map(info -> new TopicPartition(info.topic(), info.partition())).collect(Collectors.toList());consumer.seekToBeginning(partitions); // 重置所有分区到最早位移
}
  1. DateTime 策略(重设到 2023-10-01 12:00:00)
long timestamp = LocalDateTime.of(2023, 10, 1, 12, 0).toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
Map<TopicPartition, Long> timeMap = consumer.partitionsFor("test-topic").stream().map(info -> new TopicPartition(info.topic(), info.partition())).collect(Collectors.toMap(tp -> tp, tp -> timestamp));
Map<TopicPartition, OffsetAndTimestamp> offsets = consumer.offsetsForTimes(timeMap);
offsets.forEach((tp, oa) -> consumer.seek(tp, oa.offset()));

(二)命令行脚本方式(Kafka 0.11+)

bin/kafka-consumer-groups.sh --bootstrap-server <broker地址> --group <消费组名> --reset-offsets [策略参数] --execute
策略	命令示例
Earliest	--to-earliest
Latest	--to-latest
Current	--to-current
Specified-Offset	--to-offset 1234
Shift-By-N	--shift-by -100(向前跳 100 条)
DateTime	--to-datetime "2023-10-01T12:00:00.000"
Duration	--by-duration PT30M(30 分钟前)

五、注意事项

  1. 消费组状态
    1)重设位移时,确保消费组未处于运行状态,避免位移冲突。
  2. 日志保留策略
    1)Earliest策略受log.retention.hours等配置限制,可能无法重置到 0 位移。
  3. 分区分配
    1)API 方式需显式处理所有分区(如通过partitionsFor获取分区列表),避免遗漏。
  4. 事务性消息
    1)若消费事务性主题,需结合isolation.level=read_committed确保一致性。

文章转载自:

http://iB1LnHLl.nfbkz.cn
http://lm5TWZRS.nfbkz.cn
http://iRqWyAuB.nfbkz.cn
http://uIrbNYYJ.nfbkz.cn
http://UNP9X08k.nfbkz.cn
http://UXs4eB0J.nfbkz.cn
http://VcQjVTs4.nfbkz.cn
http://DToQ9n7T.nfbkz.cn
http://g4IDY6SB.nfbkz.cn
http://2iLuFGVr.nfbkz.cn
http://jdwPxlpH.nfbkz.cn
http://FK8phwAZ.nfbkz.cn
http://IUy8tvJR.nfbkz.cn
http://GVJC3B3w.nfbkz.cn
http://xzCiv2GU.nfbkz.cn
http://knUZ4x3H.nfbkz.cn
http://rwooIQJO.nfbkz.cn
http://bTwZ57DA.nfbkz.cn
http://cKwQ3QOU.nfbkz.cn
http://Rm5v9yrt.nfbkz.cn
http://jwuDncBL.nfbkz.cn
http://CFctyePn.nfbkz.cn
http://Nqg96zYy.nfbkz.cn
http://ZcKD7IqE.nfbkz.cn
http://R2kGbPSN.nfbkz.cn
http://FwyF2GGF.nfbkz.cn
http://GoP9S0TK.nfbkz.cn
http://VCfI7iKL.nfbkz.cn
http://uV8JcvQO.nfbkz.cn
http://LmeLRu0i.nfbkz.cn
http://www.dtcms.com/wzjs/749282.html

相关文章:

  • 网站建设实训设计思想wordpress 标题颜色
  • 如何建立优秀企业网站如何能查到百度搜索排名
  • 龙岗网站的建设常德网站建设技术
  • 天津网站建设培训班科技公司手机网站
  • 哪个着陆页网站网站建设前期准备工作总结
  • 网站建设的优点网站建设包括哪些方面
  • 专业建站公司联系方式枣庄网站建设多少钱
  • 杭州公司网站制作维护wordpress与cms
  • 网站建设怎么好石家庄网站建设报价
  • 网站设计制作一条龙桂平网站制作
  • 常州网站建设包括哪些ui设计的优势与不足
  • 网站建设与搜索引擎营销有什么关系男的做那个视频网站
  • 门户网站建设调查问卷中国重大新闻
  • 做网站怎么去找客户伪静态规则变动对网站的影响
  • 做外贸哪个英文网站好高端网站建设专家
  • 怎么注销网站昆明c2c网站建设
  • 大型网站建设兴田德润赞扬建设银行网站可以查保单吗
  • 广州最专业的网站建设创建网站的步骤是
  • 友联建设集团官方网站wordpress管理员用户名更改
  • 做心悦腾龙光环的网站网页制作背景图
  • 打网站显示域名解析错误甘肃省建设厅门户网站
  • 郴州网站维护咨询公司面试
  • 网站建设有关的职位开发网站软件
  • 网站建设第一步在家自己做网站
  • sns社交网站建设阳东城乡规划建设局网站
  • 网站建设找盖亚科技重庆专业做网站
  • mvc5 网站开发之學 pdf天津品牌网站设计
  • 免费网站链接园区开发公司
  • 建设企业网站e路护航页面模板只能有30个文章吗
  • 怎么可以自己做网站手机视频网站怎么做