Я новичок в Кафке.Я хочу разработать систему с использованием Springboot + Kafka, которая будет принимать сообщения в пакете с гарантией ровно одного раза на чтение.То же сообщение не должно быть обработано снова.Я должен был использовать метаданные zookeeper, которые поддерживают смещение раздела, но потом я узнал, что Kafka представил Transaction API, который позаботился об этом.Из документации я прочитал об этом API, но я не нашел практического примера, который показывает, что сообщения обрабатываются только один раз.Есть ли какая-нибудь ссылка, где я могу изучить Transaction API теоретически, а также реализовать его на практике?Ценю вашу помощь.