客户端消费骨架(Java API 方法名)
客户端消费骨架(Java API 方法名)
// 拉取批次
Message message = connector.getWithoutAck(1000, 5L, TimeUnit.SECONDS);
long batchId = message.getId();
try {
process(message.getEntries()); // 业务处理
connector.ack(batchId); // 处理成功再确认
} catch (Exception e) {
connector.rollback(batchId); // 失败回滚,下轮重拉
}| getWithoutAck | 拉取但不提交位点 |
|---|---|
| ack | 按 batchId 提交位点 |
| rollback | 回滚批次,下轮重新拉取 |
| 建议 | 处理完成后统一 ack,异常时回滚并记录日志 |
位点以 ack 为准:不 ack 会重复消费同一批;空批次也要注意批次 id 的处理规则。