with version 2.3, the framework sets enable.auto.commit to false unless explicitly set in the configuration.
Ну и дальше, соответственно, при желании ставится true и детализируется (BATCH, RECORD, etc...)
Собственно, вопрос.
Попадалась где-то инфа, что со Спрингом надо быть настороже в плане коммитов, что-то он там неочевидно делает...
Это как раз речь о том, что я выше написал ? про дефолтный autocommit false ?
Ну в любом случае надо быть всегда настороже : представьте ситуацию когда вы забрали сообщение, закомитили офсет и упали (или вас убил oom какой). Ибо Кафка это не mq, хоть и похож...
Привет! Если используешь spring-kafka, то там много засадных мест в части транзакций. Например: наличие внутреннего пула продюсеров, которым нельзя управлять, неочевидные по умолчанию границы транзакций, и др. Поэтому если есть возможность, я бы не рекомендовал использовать spring-kafka для более-менне нагруженных систем скрещенных с высокими требованиями к надежности доставки сообщений.
А что бы рекомендовали?
Использовать родной клиент кафки. Спринг прокси в данном случае профита не приносит, а вот проблемки - да.
Обсуждают сегодня