แฐแแ แฐแแแ !
แแ แแแฃแจแแแ Tinkoff-แแก แแฃแแแแ, แ แแแแแแช แแแแแแ แแแก แกแแแฃแแแ แจแแขแงแแแแแแแแแแก แชแแแขแ แก. แแ แซแแ แแแแแแ Java-แจแ แแแแแแ แแแแ Spring boot-แแก แแแแแงแแแแแแ แแ แแฎแกแแ แกแฎแแแแแกแฎแแ แขแแฅแแแแฃแ แแ แแแแแแแแก, แ แแแแแแแช แฌแแ แแแแฅแแแแแ แแ แแแฅแขแจแ.
แฉแแแแ แแแแ แแกแแ แแแกแแแแก แฃแแแขแแกแแแ แแ แแแแแแแแแ แแกแแแฅแ แแแฃแแแ แฃแ แแแแ แแแแก แจแแขแงแแแแแแแแแแก แแ แแแแ แแก แกแแจแฃแแแแแแ. แแแแแแแ แแ แแแแ แแ แแแงแแแแแแแ IBM MQ-แก, แ แแแแแแช แแแขแแแ แแแแก แแแฆแแ แฃแแแแแแแแแแแ, แแแแแแ แแฃแแแ แฐแฅแแแแ แแแฌแแแแแแก แแแฆแแแ แแแ แแแขแแแแ.
แจแแแชแแแแแแ แจแแแแแแแแแแแแก Apache Kafka, แ แแแแแกแแช แแฅแแก แแแฆแแแ แกแแแแแ แแแแก แแแขแแแชแแแแ, แแแแ แแ, แกแแแฌแฃแฎแแ แแ, แแแแแฎแแแก แแแแคแแแฃแ แแชแแแก แแแแฅแแแก แแแแแแแแฃแแแฃแ แแแแแแแแก แกแฎแแแแแกแฎแแ แกแชแแแแ แแกแแแแก. แแแ แแ แแแแกแ, แแ แแฎแแ แแแแแช แแแฌแแแแแแก แแแฅแแแแแแ, แ แแแแแแช แแฃแจแแแแก แแแคแแแจแ แแแแฃแแแกแฎแแแแแ, แแ แแซแแแแแ แแแแกแแกแขแแแชแแแก แกแแญแแ แ แแแแแก แจแแแแ แฉแฃแแแแแก. แจแแแแแแ, แแ แแแแแแแแ แแแ แฉแแแแก แแแแแชแแแแแแแก แแแคแแแก แแแแคแแแฃแ แแชแแแจแ, แแแ แซแแ, แแแขแงแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแคแแแฃแ แแ แแ แแ แแชแฎแแแ แแ แแฃแกแขแแ แแ แแฎแแ แแแฌแแแแแแ.
แแแ แแแขแแ แแแฃแแ แแแฌแแแแแ แแ แกแฎแแ
แฅแแแแแ แแแแฎแแแฃแแ แแแ แแแแขแ แแแ แแแแแฎแแแ แแแแ แแแแแแแ แแแชแแแแ แแ แแแแแ แแ แแแแแแ แแแแฃแแแกแฎแแแแ แแแแจแแ แแก แแแ แแแแขแ แแแแแ แแแแแแจแแ แแแแ. แแแแ แแ แแแ แแแ แ แแแจแ แแแแแ แแแแแฅแชแแ แงแฃแ แแแฆแแแ แแ แ แแแ แแแแขแ แก, แ แแแแแแช แฎแแแก แจแแฃแฌแงแแแก แจแแกแแซแแ แแแแแ แแแแก.
แแก แแแแฎแแแ แแแ แแแแแแขแ.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-แแแ:
แแฎแแ แแแแแ แจแแแฎแแแแ แกแชแแแแ แก แแแ แแแขแแ แแแฃแแ แจแแขแงแแแแแแแแก แแแฌแแแแแแกแแแแก. แแแคแแแก แแ แแแแฃแกแแ แก แแฅแแก แแแ แแแแขแ แ แแแกแ แแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแคแแแฃแ แแ แแ แ แแแแแแ แแฆแแแ แแแแก แจแแแแแ แกแญแแ แแแแ แแแแกแขแแ แแก แแแแแ แก, แ แแแ แแแแแฎแแแแก แจแแขแงแแแแแแแ แฌแแ แแแขแแแแ แแแฌแแ แแแ. แแ แแแ แแแแขแ แก แจแแฃแซแแแ แแแแฆแแก แจแแแแแแ แแแแจแแแแแแแแแ:
- 0 โ แแฆแแแ แแแ แแ แแแแแฎแแแแแ.
- 1 แแ แแก แแแแฃแแแกแฎแแแแ แแแ แแแแขแ แ, แแฎแแแแ 1 แแกแแแก แแแแแกแขแฃแ แแแแ แกแแญแแ แ.
- โ1 - แกแแญแแ แแ แงแแแแ แกแแแฅแ แแแแแแแฃแแ แ แแแแแแแแแ แแฆแแแ แแแ (แแแแกแขแแ แฃแแ แแแงแแแแแ min.insync.replicas).
แฉแแแแแแแแแ แแแแจแแแแแแแแแแแแ แแ แแแแแ, แ แแ โ1-แแก แขแแแ acks แแซแแแแ แฃแซแแแแ แแก แแแ แแแขแแแก, แ แแ แจแแขแงแแแแแแแ แแ แแแแแแ แแแแ.
แ แแแแ แช แงแแแแแ แแแชแแ, แแแแแฌแแแแแฃแแ แกแแกแขแแแแแ แแ แแกแแแแแ. แแแ แแแแแแแแ แฎแแ แแแแแแแกแแแ แแแแแก แแแกแแชแแแแ, Kafka Producer แแแแแแแแแ แแแ แแแแขแก แฎแแแแฎแแ แชแแแแแแก, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแงแแแแ แฎแแแแฎแแ แแแแแแแแแก แแชแแแแแแแแแก แ แแแแแแแแ แจแแแแแ แแแฌแแแแแ.timeout.ms. แแแแแแแแ แแแแแแแ แแแแแ แชแแแแแก แแแ แแแแขแ แก แแฅแแก แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ Integer.MAX_VALUE (2147483647), แจแแขแงแแแแแแแแก แฎแแแแฎแแแ แชแแแแแก แ แแแแแแแแแก แแแ แแฅแขแแ แแแ แจแแกแแซแแแแแแแ แแฎแแแแ delivery.timeout.ms แจแแชแแแแ.
แฉแแแ แแแแแแแแ แ แแฃแกแขแแ แแ แแฎแแ แแแฌแแแแแแกแแแ
แฉแแแแแแแแแ แแแ แแแแขแ แแแ แกแแจแฃแแแแแแก แแซแแแแก แฉแแแแก แแ แแแแฃแกแแ แก แแแแฌแแแแก แจแแขแงแแแแแแแแแ แแแฆแแแ แแแ แแแขแแแ. แแแแแ แแแกแแฃแแ แแ แแแแแ, แแฃ แ แแแแ แฃแแแ แแแแ แฌแแฃแแแแ, แ แแ แจแแขแงแแแแแแแแก แแฎแแแแ แแ แแ แแกแแ แแแแฌแแ แแแ แแแคแแแก แแแแแแ? แฃแแแ แขแแแแก แจแแแแฎแแแแแจแ, แแแแกแแแแแก แแฅแแแ แฃแแแ แแแแงแแแแ แแแ แแแแขแ แ Producer-แแ แฉแแ แแแ.แแแแแแขแแแชแแ แญแแจแแแ แแขแแ. Idempotency แแแ แแแขแแแก แแซแแแแ, แ แแ แแฎแแแแ แแ แแ แจแแขแงแแแแแแแ แแฌแแ แแแ แแ แแ แแแแแก แแแแแ แแขแฃแ แแแแแงแแคแแ. แแแแแขแแแชแแแก แแแแฅแขแแฃแ แแแแก แฌแแแแแแ แแแ แฆแแ แแแฃแแแแแแแ acks = แงแแแแ, แฎแแแแฎแแ แกแชแแแแ > 0, max.in.flight.requests.per.connection โค 5. แแฃ แแก แแแ แแแแขแ แแแ แแ แแ แแก แแแแแแแแฃแแ แแแแแแแแแ แแก แแแแ , แแแแแ แฉแแแแแแแแแ แแแแจแแแแแแแแแ แแแขแแแแขแฃแ แแ แแแงแแแแแแ.
แ แแแแกแแช idempotency แแ แแก แแแแคแแแฃแ แแ แแแฃแแ, แแฃแชแแแแแแแแ แแแแก แฃแแ แฃแแแแแงแแคแ, แ แแ แแ แแ แแ แแแแแ แจแแขแงแแแแแแแแแ แงแแแแ แฏแแ แแ แแ แแกแ แแ แแแแแ แแแแแงแแคแแแจแ แแฆแแแฉแแแแก. แแก แจแแแซแแแแ แแแแแแแแก partitioner.class แแแกแแฆแแแแก แแ แแแ แแแแขแ แแก Producer-แแ แแแงแแแแแแ. แแแแแฌแงแแ แแแกแแฆแแแแ. แแก แฃแแแ แแงแแก แแแแแ แแแแแแฃแแ แฌแแ แแแแแแกแแแแก. แแแแก แแแ แขแแแแ แแแฆแฌแแแ แจแแกแแซแแแแแแแ แแ แแแแแแแฃแ แ แแแกแขแแแแ แแแแแกแแแแ แ แแแแแแก ID-แแก แแแแแงแแแแแแ. partitioner.class แแแ แแแแขแ แก แแฅแแก แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ โ
- แแฃ แแแแแงแแคแ แแแ แแแแแ แแ แแก แแแแแแแแฃแแ แจแแขแงแแแแแแแแก แแแแแแแแแกแแก, แแแจแแ แฉแแแ แแแงแแแแแ แแแก.
- แแฃ แแแแแงแแคแ แแ แแ แแก แแแแแแแแฃแแ, แแแแ แแ แแแกแแฆแแแ แแแแแแแแฃแแแ, แแแ แฉแแแ แแแแแงแแคแ แแแกแแฆแแแแก แฐแแจแแก แแแฎแแแแแ.
- แแฃ แแแแแงแแคแ แแ แแแกแแฆแแแ แแ แแ แแก แแแแแแแแฃแแ, แจแแแ แฉแแแ แขแแฎแ แแแ แกแแแแแแแ (แแ แแแแแ แ แแแแ).
แแกแแแ, แแแกแแฆแแแแก แแแแแงแแแแแ แแ แแแ แแแแขแ แแ แแแแแแแขแแแขแฃแ แ แแแแแแแแ max.in.flight.requests.per.connection = 1 แแแซแแแแ แแแแฎแแแ แแแแแแ แจแแขแงแแแแแแแแแแก แแแแแ แขแแแแแฃแ แแแแฃแจแแแแแแก. แแกแแแ แฃแแแ แแแแฎแกแแแแแก, แ แแ แแฃ แฌแแแแแแก แแแแขแ แแแ แแแแคแแแฃแ แแ แแแฃแแแ แแฅแแแแก แแแแกแขแแ แแ, แแแจแแ แแแแญแแ แแแแแ แฃแคแแแแ, แ แแ แฃแแแ แแ แฉแแฌแแ แแ แแแแ.
แแฃ แแแฃแแแแแแแแ แแ แแแฅแแ แแแกแแฆแแแแ แแแแแแแขแแแขแฃแ แ แแแแแแแแแก แจแแกแแซแแแแแแแแแ แแ แแ แแแแฃแกแแ แแก แแฎแ แแแแ แแแแแแ แแแแแฎแแแก แแแแแชแแแแ แแแแแแแแแแ แฃแแแแแก แจแแแแ แฉแฃแแแแแก แกแฎแแแแแกแฎแแ แแแแแงแแคแแแก แจแแ แแก, แแแจแแ แขแ แแแแแฅแชแแแแ แแแแแแ แฉแแแก. แแแ แแ แแแแกแ, แฏแแญแแฃแ แ แขแ แแแแแฅแชแแแก แแแแแงแแแแแแ, แจแแแแซแแแแ แแแ แแแแแแ แแแแฎแแแแแ แฉแแแแฌแแ แแก แกแแแฅแ แแแแแแชแแ แแแคแแแจแ, แแแแแแแแแ, แแแแแชแแแแ แแแแแจแ แฉแแแแฌแแ แแแ. แแ แแแแฃแกแแ แแแ แขแ แแแแแฅแชแแแก แแแแแแแแแก แแแกแแแฅแขแแฃแ แแแแแ, แแก แฃแแแ แแงแแก แแ แแแแขแแแขแฃแ แ แแ แแแแแขแแแแ แแแงแแแแแฃแแ แขแ แแแแแฅแชแแฃแแ.id. แแฃ แฌแแแแแแก แแแแขแ แแแ แแแแคแแแฃแ แแ แแแฃแแแ แแฅแแแแก Kafka แแแแกแขแแ แแ, แแแจแแ แขแ แแแแแฅแชแแแก แฉแแแแฌแแ แก, แแกแแแ แ แแแแ แช แแแแแแแขแแแขแฃแ แฉแแแแฌแแ แก, แแแกแญแแ แแแแ แฉแแฌแแ แแก แฃแคแแแแแแ, แ แแช แจแแแซแแแแ แแแแแญแแแฃแแ แแงแแก แแแฆแแแ แขแ แแแกแแฅแชแแแจแ แจแแแแฎแฃแแ แแแแจแแแแแแแแก แแแแแงแแแแแแ.
แคแแ แแแแฃแ แแ, แแแแแกแแแแ แ แกแขแ แแฅแแแ, แ แแแแ แแชแแ แแแแแชแฎแแแแก แกแแฎแแแ, แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แ แแแแ แช แขแ แแแแแฅแชแแแก แแแแแขแแคแแแแขแแ แ. แแแแ แแ แแฃ แแฅแแแ แแแฃแจแแแ แแ แแ แแ แแแแแ แแแแแแแชแแแก แ แแแแแแแแ แแแกแขแแแชแแ แแ แแ แแ แแแแแ transaksional.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 แแแแจแแแแแแแแกแแแแก. แแกแแ แแแแฎแแแ แแแแแก แจแแแซแแแแ แฌแแแแแแฎแแก แแ แแขแ แแแแแฅแชแแแก แจแแขแงแแแแแแแแแ, แ แแแแ แช แแแ แ, แฎแแแ แขแ แแแแแฅแชแแแก แจแแขแงแแแแแแแแแ แแฎแแแแ แฉแแแแแแก แจแแแแแ.
แแฃ แแแงแแแแแฃแแ แแแฅแแ แแแ แ แฉแแแแแแแแแ แงแแแแ แแแ แแแแขแ แ, แแแจแแ แแฅแแแ แแแแแแแคแแแฃแ แแ แแ แแฃแกแขแแ แแ แแฎแแ แแแฌแแแแแ. แแแแแชแแ!
แแแแ แแ แแ แแก แแแแแ แแ แแ แแแฃแแแกแ. Transactional.id, แ แแแแแแช แฉแแแ แแแแแ แแแแแงแแแแ, แ แแแแฃแ แแ แแ แแก แขแ แแแแแฅแชแแแก แแ แแคแแฅแกแ. แขแ แแแแแฅแชแแแก แแแแแฏแแ แแ แแแก แแแแขแแแ แ แแแแแ แแแแแ แ. แแแฆแแแฃแแ แแแแแขแแคแแแแขแแ แ แแแแชแแแ transaksional.id.expiration.ms, แ แแแแแแช แแแแคแแแฃแ แแ แแแฃแแแ แแแคแแแก แแแแกแขแแ แแ แแ แแฅแแก แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ "7 แแฆแ". แแฃ แแ แแ แแแก แแแแแแแแแแแจแ แแแแแแแชแแแก แแ แแแฃแฆแแ แจแแขแงแแแแแแแแแ, แแแจแแ, แ แแแแกแแช แชแแแแแแ แจแแแแแแ แขแ แแแแแฅแชแแแก แแแแแแแแแก, แแแแฆแแแ InvalidPidMappingException. แจแแแแแ แขแ แแแแแฅแชแแแก แแแแ แแแแแขแแ แ แแแกแชแแแก แแฎแแ แ แแแแ แแแแแ แก แจแแแแแแ แขแ แแแแแฅแชแแแกแแแแก. แแฃแแชแ, แจแแขแงแแแแแแแ แจแแแซแแแแ แแแแแแ แแแก, แแฃ InvalidPidMappingException แแ แแ แแก แกแฌแแ แแ แแแแฃแจแแแแแฃแแ.
แจแแแแแแแแก แแแชแแแแ
แ แแแแ แช แฎแแแแแ, แแแคแแแก แฃแแ แแแแ แแแกแแฏแแแแก แแแแแแแแ แกแแแแแ แแกแ แแ แแ แแก. แแฅแแแ แฃแแแ แแแ แฉแแแ แแแ แแแแขแ แแแแก แแแแแแแแชแแ แแ แแแแ แแงแแ แกแฌแ แแคแ แชแแแแแแแแแแกแแแแก. แแ แกแขแแขแแแจแ แจแแแแชแแแ แแแขแแแฃแ แแ แแแฉแแแแแแแแ แแฃแกแขแแ แแ แแฎแแ แแแฌแแแแแแก แแแงแแแแแ แแ แแฆแแฌแแ แ แ แแแแแแแแ แแ แแแแแแ client.id แแ transaksional.id แแแแคแแแฃแ แแชแแแแแแ, แ แแแแแแแช แจแแแแฎแแแ. แฅแแแแแ แแแชแแแฃแแแ แแฌแแ แแแแแแแกแ แแ แแแแฎแแแ แแแแแก แแแ แแแแขแ แแแแก แจแแฏแแแแแ.
แแ แแแแฃแกแแ แ:
- acks = แงแแแแ
- แแแแแแแ แแแแแ แชแแแแ > 0
- แฉแแ แแแ.แแแแแแขแแแชแแ = แญแแจแแแ แแขแ
- max.in.flight.requests.per.connection โค 5 (1 แแแฌแแกแ แแแแแฃแแ แแแแแแแแแกแแแแก)
- transaksional.id = ${aplication-name}-${hostname}
แแแแฎแแแ แแแแแ:
- แแแแแแชแแ.แแแแ = แฌแแแแแฎแฃแแ_แฉแแแแฌแแ แแแ
แกแแแแแแแแ แแแแแแแชแแแแจแ แจแแชแแแแแแแก แจแแกแแแชแแ แแแแแ, แฉแแแ แแแแแแแแแ แกแแแฃแแแ แ แจแแคแฃแแแ แแแแแแ แแก แแแแคแแแฃแ แแชแแแแ, แกแแแแช แฃแแแ แแแงแแแแแฃแแแ แแแแแแ แแ แฉแแแแแแแแแ แแแ แแแแขแ แแก แแแแจแแแแแแแแแ.
แแฅ แแ แแก แ แแแแแแแแ แแแกแแแ แแแแแจแแกแฌแแแแแกแแแแก:
KIP-98 - แแฃแกแขแแ แแ แแฎแแ แแแฌแแแแแ แแ แขแ แแแแแฅแชแแแก แจแแขแงแแแแแแแแแ แแแ แแแแขแ แแแแก แแฆแฌแแ แ
แฌแงแแ แ: www.habr.com