āĻ•āĻžāĻĢāĻ•āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛

āĻ•āĻžāĻĢāĻ•āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛

āĻšā§‡ āĻšāĻžāĻŦāĻ°!

āĻ†āĻŽāĻŋ Tinkoff āĻĻāĻ˛ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ, āĻ¯ā§‡āĻŸāĻŋ āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ…āĻ‚āĻļā§‡, āĻ†āĻŽāĻŋ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ‚ āĻŦā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻŋāĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻ¸ā§‡āĻœ āĻŦā§āĻ°ā§‹āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸āĻ­āĻžāĻŦā§‡ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻĒā§‚āĻ°ā§āĻŦā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°ā§‹āĻ•āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ IBM MQ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤āĻžāĻŽ, āĻ¯āĻž āĻ†āĻ° āĻ˛ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻžāĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ‰āĻšā§āĻš āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻ›āĻŋāĻ˛āĨ¤

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° Apache Kafka āĻ…āĻĢāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻžāĻ° āĻ‰āĻšā§āĻš āĻ¸ā§āĻ•ā§‡āĻ˛āĻŋāĻ‚ āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ•āĻžāĻĢāĻ•āĻžāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŦāĻžāĻ° āĻ¯ā§‡ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻž āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻŋ āĻ•āĻžāĻĢāĻ•āĻžāĻ•ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻŦ, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ āĻŋāĻ• āĻāĻ•āĻŦāĻžāĻ° āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻžāĻ‡āĻ­ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§

āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡ā§ˇ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻĄāĻŋāĻŦāĻžāĻ—āĻ•ā§‡ āĻ¸āĻšāĻœāĻ¤āĻ° āĻ•āĻ°āĻŦā§‡āĨ¤

āĻāĻ‡āĻŸāĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡ client.id āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ• āĻāĻŦāĻ‚ āĻ­ā§‹āĻ•ā§āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻœāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋāĻ“ āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¯āĻ–āĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ¤ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ—ā§āĻ°āĻžāĻšāĻ• āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻ‡ client.id āĻĻā§‡āĻ¨, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦāĻžāĻĄāĻŧā§‡:

org.apache.kafka.common.utils.AppInfoParser — Error registering AppInfo mbean javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=kafka.test-0

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•āĻžāĻĢāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡ JMX āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡āĻ° āĻ¨āĻžāĻŽāĻŸāĻŋ client.id āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ­āĻžāĻ˛āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ•āĻžāĻĢāĻ•āĻž-āĻ­ā§‹āĻ•ā§āĻ¤āĻž-āĻ—ā§‹āĻˇā§āĻ ā§€ Confluent āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡:

āĻ•āĻžāĻĢāĻ•āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛

āĻāĻ–āĻ¨ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻĻā§ƒāĻļā§āĻ¯āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻĻā§‡āĻ–āĻŋāĨ¤ āĻ•āĻžāĻĢāĻ•āĻž āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ†āĻ›ā§‡ acks, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¨ā§‡āĻ¤āĻž āĻ•āĻ¤āĻœāĻ¨ āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°āĻŦā§‡ āĻ¤āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • 0 - āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤
  • 1 — āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 1āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
  • −1 — āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœāĻĄ āĻ°ā§‡āĻĒā§āĻ˛āĻŋāĻ•āĻž (āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¸ā§‡āĻŸāĻŋāĻ‚) āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ min.insync.replicas).

āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡, āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‡ -1 āĻāĻ° āĻ¸āĻŽāĻžāĻ¨ acks āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻžāĻ‡ āĻœāĻžāĻ¨āĻŋ, āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤āĨ¤ āĻ•ā§āĻˇāĻŖāĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻĨā§‡āĻ•ā§‡ āĻ°āĻ•ā§āĻˇāĻž āĻĒā§‡āĻ¤ā§‡, āĻ•āĻžāĻĢāĻ•āĻž āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ• āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻœāĻŽāĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻŦāĻŋāĻ¤āĻ°āĻŖ.āĻ¸āĻŽāĻ¯āĻŧ āĻļā§‡āĻˇ. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒā§āĻ¨āĻƒāĻĒā§āĻ°āĻšāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ Integer.MAX_VALUE (2147483647), āĻ¤āĻžāĻ‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻœāĻŽāĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° delivery.timeout.ms āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ āĻŋāĻ• āĻāĻ•āĻŦāĻžāĻ° āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ…āĻ—ā§āĻ°āĻ¸āĻ° āĻšāĻšā§āĻ›ā§‡

āĻāĻ‡ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ•āĻ•ā§‡ āĻ‰āĻšā§āĻš āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻ¸āĻš āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻāĻ–āĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻĒāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻĢāĻ•āĻž āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡? āĻ¸āĻšāĻœ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ• āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ enable.idempotence āĻ¸āĻ¤ā§āĻ¯ āĻĨā§‡āĻ•ā§‡ āĻ…āĻĻāĻŽā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻĻāĻŽā§āĻ¯āĻ¤āĻž āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤ āĻšāĻ˛ āĻŽāĻžāĻ¨ acks = āĻ¸āĻŦ, āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ > 0, max.in.flight.requests.per.connection ≤ 5. āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§‡āĻŸ āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤

āĻ¯āĻ–āĻ¨ idempotency āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯ā§‡ āĻāĻ•āĻ‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻ•āĻ‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§ˇ partitioner.class āĻ•ā§€ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒā§āĻ°āĻĄāĻŋāĻ‰āĻ¸āĻžāĻ°ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻšāĻžāĻŦāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻāĻŸāĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ• āĻœāĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡. āĻŽā§‚āĻ˛ āĻĒā§‹āĻ¸ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ†āĻ‡āĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻšāĻœāĨ¤ partitioner.class āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ†āĻ›ā§‡ − āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻžāĻ°. āĻāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ•ā§ŒāĻļāĻ˛ āĻ¸āĻš, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻŽāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ:

  • āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤
  • āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§€ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§€ āĻĨā§‡āĻ•ā§‡ āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤
  • āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻāĻŦāĻ‚ āĻ•ā§€ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ˛āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ (āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ-āĻ°āĻŦāĻŋāĻ¨)āĨ¤

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻāĻŦāĻ‚ idempotent āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸āĻš āĻĒāĻžāĻ āĻžāĻ¨ max.in.flight.requests.per.connection = 1 āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­ā§‹āĻ•ā§āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋāĻ¤ā§‡ āĻ…āĻĻāĻŽā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ…āĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻšāĻ āĻžā§Ž āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž idempotent āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ…āĻ­āĻžāĻŦ āĻšāĻ¯āĻŧ, āĻŦāĻž āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ•ā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĻā§āĻ§āĻžāĻ°ā§‡ āĻ†āĻ¸āĻŦā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻšā§‡āĻ‡āĻ¨ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇā§‡ āĻ•āĻžāĻĢāĻ•āĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĨ¤ āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ•ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĻŽā§‚āĻ˛āĻ• āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, āĻāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ…āĻĻāĻŽā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ transactional.id. āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻĢāĻ•āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…āĻĻāĻŽā§āĻ¯ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ, āĻ˛ā§‡āĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡, āĻ¯āĻž transactional.id-āĻ āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽāĻžāĻ¸ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚, āĻ¯ā§‡āĻŽāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻāĻ•āĻ‡ transactional.id āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžā§āĻšāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ āĻ•āĻžāĻĢāĻ•āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻœāĻŽā§āĻŦāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦā§‡āĨ¤

org.apache.kafka.common.errors.ProducerFencedException: Producer attempted an operation with an old epoch. Either there is a newer producer with the same transactionalId, or the producer's transaction has been expired by the broker.

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ‡āĨ¤

āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ• āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻžāĻĢāĻ•āĻž āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§‡āĻˇā§‡, āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋāĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ­ā§‹āĻ•ā§āĻ¤āĻžāĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ†āĻ—ā§‡ āĻĒāĻĄāĻŧāĻž āĻĨā§‡āĻ•ā§‡ āĻ†āĻŸāĻ•āĻžāĻ¤ā§‡, āĻāĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻ¸ā§āĻ¤āĻ° read_committed āĻŽāĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻœāĻ¨ āĻ­ā§‹āĻ•ā§āĻ¤āĻž āĻ†āĻ—ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĻŦāĻŋāĻšā§€āĻ¨ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ° āĻĒāĻ°ā§‡āĻ‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĨ¤
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ āĻŋāĻ• āĻāĻ•āĻŦāĻžāĻ° āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ…āĻ­āĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨!

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ°ā§‹ āĻāĻ•āĻŸāĻŋ nuance āĻ†āĻ›ā§‡. āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ¯ā§‡ transactional.id āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻ†āĻ¸āĻ˛ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—āĨ¤ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°ā§‡, āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻ˛ā§‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ transactional.id.expiration.ms, āĻ¯āĻž āĻ•āĻžāĻĢāĻ•āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ 7 āĻĻāĻŋāĻ¨ā§‡āĻ°āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¨āĻž āĻĒāĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ…āĻŦā§ˆāĻ§āĻĒāĻŋāĻĄāĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ. āĻāĻ° āĻĒāĻ°ā§‡, āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧāĻ•āĻžāĻ°ā§€ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ°āĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, InvalidPidMappingException āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ¨āĻž āĻšāĻ˛ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ•āĻžāĻĢāĻ•āĻžāĻ•ā§‡ āĻļā§āĻ§ā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¨āĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĻā§āĻ°ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļāĻĻāĻ­āĻžāĻŦā§‡ āĻ āĻŋāĻ• āĻāĻ•āĻŦāĻžāĻ° āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ client.id āĻāĻŦāĻ‚ transactional.id āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ“āĻ¯āĻŧāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ• āĻāĻŦāĻ‚ āĻ­ā§‹āĻ•ā§āĻ¤āĻž āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¨ā§€āĻšā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ•:

  1. acks = āĻ¸āĻŦ
  2. āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ > 0
  3. enable.idempotence = āĻ¸āĻ¤ā§āĻ¯
  4. max.in.flight.requests.per.connection ≤ 5 (āĻ†āĻĻā§‡āĻļ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ 1)
  5. transactional.id = ${application-name}-${hostname}

āĻ—ā§āĻ°āĻžāĻšāĻ•:

  1. isolation.level = read_committed

āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻ•āĻŽāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŽā§‹āĻĄāĻŧāĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡ā§ˇ

āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸ā§āĻŦ-āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ•āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨