рдХрдлрдХрд╛ рдХреИрд╕реЗ рд╕рдЪ рд╣реБрдЖ


рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!


рдореИрдВ рдЯрд┐рдВрдХреЙрдл рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗрдВрджреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВред


рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлрд╝реНрдЯ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдЖрдИрдмреАрдПрдо рдПрдордХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рджрд▓рд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рдЬреЛ рд▓реЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЙрдЪреНрдЪ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреА рдереАред


рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдХрд╛рдлреНрдХрд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдЪреНрдЪ рдорд╛рдкрдиреАрдпрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рд╡рд┐рддрд░рдг рддрдВрддреНрд░, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдлреНрдХрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдиреЗ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреАред рдЖрдЧреЗ, рдореИрдВ рдХрд╛рдлреНрдХрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЬреАрдирд╛ рд╣реИред


рдЧрд╛рд░рдВрдЯреА рд╡рд┐рддрд░рдг рдФрд░ рдЕрдзрд┐рдХ


рдмрд╛рдж рдореЗрдВ рдЬрд┐рди рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рд╡реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рдмрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред


рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП Client.id рдЗрд╕рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░реЗрдЧрд╛ред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЖрдк рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕реНрдерд┐рддрд┐ рдЬрдм рдХрдИ рдЙрдкрднреЛрдХреНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рджреЗрддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ:


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

рдпрджрд┐ рдЖрдк рдХрд╛рдлреНрдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬреЗрдПрдордПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд╛рдо рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╖рдп рдХрд╛ рдирд╛рдоред рд╣рдорд╛рд░реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрдирдлреНрд▓реВрдВрдЯ рд╕реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╕реЗ рдХрдлрдХрд╛-рдЙрдкрднреЛрдХреНрддрд╛-рд╕рдореВрд╣ рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рдЕрдм рд╣рдо рдЧрд╛рд░рдВрдЯреАрдХреГрдд рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдХрдлрд╝реНрдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдкрд╛рд╕ рдПрдХ рдРрдХреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд▓реАрдбрд░ рдХрд┐рддрдиреЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:


  • 0 - рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред
  • 1 - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░, рд╕реНрд╡реАрдХрд╛рд░ рдХреЗрд╡рд▓ 1 рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  • тИТ1 - рд╕рднреА рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдкреНрд░рддрд┐рдХреГрддрд┐ ( min.insync.replicas рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ) рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдпрд╣ рдЙрдкрд░реЛрдХреНрдд рдореВрд▓реНрдпреЛрдВ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ cks1 рдХреЗ рдмрд░рд╛рдмрд░ рдРрдХреНрд╕ рд╕рдмрд╕реЗ рдордЬрдмреВрдд рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдЦреЛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред


рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИрдВред рдЕрд╕реНрдерд╛рдпреА рдЦрд░рд╛рдмреА рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдлреНрдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рд░рд┐рдЯреНрд░реАрдЬрд╝ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╕рдордп рд░рд┐рдЯреНрд░реАрдЯ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЪреВрдБрдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ Integer.MAX_VALUE (2147483647) рдХреЗ рд▓рд┐рдП рдбрд┐рдлреЙрд▓реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдбрд┐рд▓реАрд╡рд░реА.рдЯрд╛рдЗрдордЖрдЙрдЯ.ms рдХреЛ рдмрджрд▓рдХрд░ рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдХреЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдУрд░ рдмрдврд╝рдирд╛


рдпреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдЙрдЪреНрдЪ рдЧрд╛рд░рдВрдЯреА рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдЖрдЗрдП рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдп рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреА рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рддрд┐ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЧрд╛рд░рдВрдЯреА рдХреИрд╕реЗ рджреЗрдВ? рд╕рд░рд▓рддрдо рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, enable.idempotence рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред Idempotency рдПрдХ рд╡рд┐рд╖рдп рдХреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджреЗрд╢ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рдмреЗрд░реЛрдЬрдЧрд╛рд░реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд░реНрдд рд╣реИ acks = рд╕рднреА, рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ> 0, max.in.flight.requests.per.connection ред 5 ред рдпрджрд┐ рдпреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдЙрдкрд░реЛрдХреНрдд рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред


рдЬрдм рдЗрдореНрдкреЛрдЯреЗрдВрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╣реА рд╕рдВрджреЗрд╢ рд╕рдорд╛рди рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдпрд╣ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдХреБрдВрдЬреА рдФрд░ рдкрд╛рд░реНрдЯреАрд╢рдирд░.рдХреНрд▓рд╛рд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪрд▓реЛ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╢рд┐рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореВрд▓ рд╕рдВрджреЗрд╢ рд╕реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╕рд╛рдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рд░реНрдЯреАрд╢рдирд░.рдХреНрд▓рд╛рд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ DefaultPartitioner рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рднрд╛рдЬрди рдХреА рд░рдгрдиреАрддрд┐ рдХреЗ рд╕рд╛рде, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:


  • рдпрджрд┐ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╕рдордп рд╡рд┐рднрд╛рдЬрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
  • рдпрджрд┐ рд╡рд┐рднрд╛рдЬрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ рдХреБрдВрдЬреА рд╕реЗ рд╣реИрд╢ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
  • рдпрджрд┐ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрджрд▓реЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ (рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдореБрдЦ рдФрд░ idempotent рднреЗрдЬрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП max.in.flight.requests.per.connection = 1 рдЖрдкрдХреЛ рдЙрдкрднреЛрдХреНрддрд╛ рдкрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рджреЗрддрд╛ рд╣реИред рдЕрд▓рдЧ-рдЕрд▓рдЧ, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд┐рд╖рдп рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдЪрд╛рдирдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдкрдХреНрд╖ рдХреЗ рддрд░реНрдХ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╕реНрдерд┐рд░рддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд▓реЗрдирджреЗрди рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓реЗрдирджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдХрд╛рдлреНрдХрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рдеред рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рдирд▓ рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдкрд╛рд╕ idempotency рд╣реЛ, рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ 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 рдХреЗ рд▓рд┐рдП рдЖрдЗрд╕реЛрд▓реЗрд╢рди.рд╡реЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрдВрдЬреНрдпреВрдорд░ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдиреЙрди-рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рдирд▓ рдореИрд╕реЗрдЬ рдХреЛ рдкрдврд╝ рд╕рдХреЗрдЧрд╛ рдФрд░ рдХрдорд┐рдЯрдореЗрдВрдЯ рдХреЗ рдмрд╛рдж рд╣реА рдЯреНрд░рд╛рдВрдЬреИрдХреНрд╢рди рдХрд░ рд╕рдХреЗрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдиреЗ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рдареАрдХ рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рдмрдзрд╛рдИ!


рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИред Transactional.id, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдКрдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдерд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд▓реЗрдирджреЗрди рдЙрдкрд╕рд░реНрдЧ рд╣реИред рд▓реЗрди-рджреЗрди рдкреНрд░рдмрдВрдзрдХ рдкрд░, рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рдкреНрдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ transactional.id.expiration.ms рдкрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ "7 рджрд┐рди" рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИред рдпрджрд┐ рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ, рддреЛ рдЬрдм рдЖрдк рдЕрдЧрд▓реЗ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рдирд▓ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ InvalidPidMappingException рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред рдЙрд╕рдХреЗ рдмрд╛рдж, рд▓реЗрди-рджреЗрди рд╕рдордиреНрд╡рдпрдХ рдЕрдЧрд▓реЗ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЕрдиреБрдХреНрд░рдо рдирдВрдмрд░ рдЬрд╛рд░реА рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ InvalidPidMappingException рдареАрдХ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдЦреЛ рд╕рдХрддрд╛ рд╣реИред


рдмрдЬрд╛рдп рдпреЛрдЧ рдХреЗ


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд┐рд░реНрдл рдХрд╛рдлреНрдХрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рдЪреБрдирдиреЗ рдФрд░ рддреНрд╡рд░рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯ.рдб рдФрд░ рдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рдирд▓.рдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдиреАрдЪреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдирд┐рд░реНрдорд╛рддрд╛:


  1. рдПрдХреЗ = рд╕рднреА
  2. рд░рд┐рдЯреНрд░реАрдЯ> 0
  3. enable.idempotence = рд╕рддреНрдп
  4. max.in.flight.requests.per.connection 1 5 (1 - рдЕрд░реНрджрд▓реА рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП)
  5. transactional.id = $ {рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рдирд╛рдо} - $ {hostname}

рдЙрдкрднреЛрдХреНрддрд╛:


  1. рдЖрдЗрд╕реЛрд▓реЗрд╢рди.рд▓реЗрд╡рд▓ = read_committed

рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдмрдирд╛рдпрд╛, рдЬрд╣рд╛рдВ рдХреБрдЫ рд╕реВрдЪреАрдмрджреНрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рд╣реИрдВред


рдФрд░ рдпрд╣рд╛рдБ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╣реИрдВ:


Source: https://habr.com/ru/post/hi481784/


All Articles