рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛

рдПрдХрд╛ рдЫреЛрдЯреНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рдЪреНрдпрд╛ рдЕрдиреБрд╡рд╛рджрд╛рдЪрд╛ рд╕рд┐рд▓рд╕рд┐рд▓рд╛:
рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ
рд▓реЗрдЦрдХ: рдЬрд╛рдХреБрдм рдХреЛрд░рд╛рдм, рдкреНрд░рдХрд╛рд╢рдХ: O'Reilly Media, Inc., рдкреНрд░рдХрд╛рд╢рдирд╛рдЪреА рддрд╛рд░реАрдЦ: рдЬреВрди 2017, ISBN: 9781492049296.

рдорд╛рдЧреАрд▓ рдЕрдиреБрд╡рд╛рджрд┐рдд рднрд╛рдЧ: рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 1 рдкрд░рд┐рдЪрдп

рдЕрдзреНрдпрд╛рдп 3

рдХрд╛рдлрдХрд╛

рдХрд╛рдлреНрдХрд╛рд▓рд╛ рд▓рд┐рдВрдХреНрдбрдЗрди рдпреЗрдереЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░реНрд╕рдЪреНрдпрд╛ рдХрд╛рд╣реА рдорд░реНрдпрд╛рджрд╛ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдПрдХрд╛рдзрд┐рдХ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдЬреНрдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдкреГрд╖реНрда 28 рд╡рд░ "рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЕрдк рдЖрдгрд┐ рдЖрдЙрдЯ" рдЕрдВрддрд░реНрдЧрдд рдпрд╛ рдкреБрд╕реНрддрдХрд╛рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. . рдкреНрд░рдХрд░рдгреЗ рд╡рд╛рдкрд░рд╛ LinkedIn рдиреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдПрдХрддрд░реНрдлреА рдЕрдВрддрд░реНрдЧреНрд░рд╣рдгрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рдкреГрд╖реНрда рдХреНрд▓рд┐рдХ рдЖрдгрд┐ рдкреНрд░рд╡реЗрд╢ рд▓реЙрдЧ, рддрд░реАрд╣реА рддреЛ рдбреЗрдЯрд╛ рдЙрддреНрдкрд╛рджрдХрд╛рдВрдЪреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдХрддреЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рди рдХрд░рддрд╛ рдПрдХрд╛рдзрд┐рдХ рд╕рд┐рд╕реНрдЯрдорджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЦрд░рдВ рддрд░, рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдбреЗрдЯрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдиреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪрд╛ рдкреНрд░рдХрд╛рд░ рдорд┐рд│рд╡рдгреЗ рд╣реЗ рдХрд╛рдлреНрдХрд╛рдЪреНрдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдЪреЗ рдХрд╛рд░рдг рдЖрд╣реЗ.

рд╣реЗ рдЕрдВрддрд┐рдо рдзреНрдпреЗрдп рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд╛, рдЗрддрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХрдкрдгреЗ рдЙрджреНрднрд╡рд▓реНрдпрд╛. рдХрд╛рдлреНрдХрд╛рдиреЗ рд╣реЗ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ:

  • рдЕрддреНрдпрдВрдд рд╡реЗрдЧрд╡рд╛рди рд╡реНрд╣рд╛
  • рд╕рдВрджреЗрд╢рд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдирд╛ рдЕрдзрд┐рдХ рдмрдБрдбрд╡рд┐рдбреНрде рдкреНрд░рджрд╛рди рдХрд░рд╛
  • рдкреНрд░рдХрд╛рд╢рдХ-рд╕рджрд╕реНрдп рдЖрдгрд┐ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдореЙрдбреЗрд▓рд▓рд╛ рд╕рдорд░реНрдерди рджреНрдпрд╛
  • рдЧреНрд░рд╛рд╣рдХ рдЬреЛрдбрдгреНрдпрд╛рдд рдЧрддреА рдХрдореА рдХрд░реВ рдирдХрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЧрдВрддрд╡реНрдпрд╕реНрдерд╛рдирд╛рд╡рд░реАрд▓ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврдд рдЕрд╕рддрд╛рдирд╛ ActiveMQ рдордзреАрд▓ рд░рд╛рдВрдЧ рдЖрдгрд┐ рд╡рд┐рд╖рдп рдпрд╛ рджреЛрд╣реЛрдВрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрдореА рд╣реЛрддреЗ.
  • рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╡реНрд╣рд╛; рдЬрд░ рд╕рдВрджреЗрд╢ рдХрд╛рдпрдо рдареЗрд╡рдгрд╛рд░рд╛ рдПрдХ рджрд▓рд╛рд▓ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдбрд┐рд╕реНрдХ рд╡реЗрдЧрд╛рдиреЗ рдЕрд╕реЗ рдХрд░реВ рд╢рдХрддреЛ, рддрд░ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрд╛ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдкреЗрдХреНрд╖рд╛ рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ.
  • рд╕рдВрджреЗрд╢ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рд╛

рд╣реЗ рд╕рд░реНрд╡ рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрд╛рдлреНрдХрд╛рдиреЗ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рдмреНрд░реЛрдХрд░реНрд╕рдЪреНрдпрд╛ рднреВрдорд┐рдХрд╛ рдЖрдгрд┐ рдЬрдмрд╛рдмрджрд╛рд▒реНрдпрд╛ рдкреБрдиреНрд╣рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгрд╛рд░реА рдПрдХ рд╡рд╛рд╕реНрддреБрд░рдЪрдирд╛ рд╕реНрд╡реАрдХрд╛рд░рд▓реА. JMS рдореЙрдбреЗрд▓ рдЕрддреНрдпрдВрдд рдмреНрд░реЛрдХрд░ рдУрд░рд┐рдПрдВрдЯреЗрдб рдЖрд╣реЗ, рдЬреЗрдереЗ рдмреНрд░реЛрдХрд░ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдгрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рддреЛ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдлрдХреНрдд рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рдгреЗ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд│рдЬреА рдХрд░рд╛рд╡реА рд▓рд╛рдЧрддреЗ. рдХрд╛рдлреНрдХрд╛, рджреБрд╕рд░реАрдХрдбреЗ, рдХреНрд▓рд╛рдпрдВрдЯ-рдХреЗрдВрджреНрд░рд┐рдд рдЖрд╣реЗ, рдХреНрд▓рд╛рдпрдВрдЯ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдмреНрд░реЛрдХрд░рдЪреА рдЕрдиреЗрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдШреЗрддреЛ, рдЬрд╕реЗ рдХреА рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢рд╛рдВрдЪреЗ рдиреНрдпрд╛рдпреНрдп рд╡рд┐рддрд░рдг, рдЕрддреНрдпрдВрдд рдЬрд▓рдж рдЖрдгрд┐ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рдмрджрд▓реНрдпрд╛рдд. рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╣ рдХрд╛рдо рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА, рдХрд╛рдлреНрдХрд╛рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдирд╕рд┐рдХ рдмрджрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдпрд╛ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рджрд┐рдЧреНрджрд░реНрд╢рдирд╛рдореБрд│реЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЕрдиреЗрдХ рдСрд░реНрдбрд░реНрд╕рджреНрд╡рд╛рд░реЗ рдереНрд░реВрдкреБрдЯ рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдореЗрд╕реЗрдЬрд┐рдВрдЧ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЪреА рдирд┐рд░реНрдорд┐рддреА рдЭрд╛рд▓реА рдЖрд╣реЗ. рдЬрд╕реЗ рдЖрдкрдг рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд, рд╣рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рдЯреНрд░реЗрдб-рдСрдлрд╕рд╣ рдпреЗрддреЛ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡рд░реНрдХрд▓реЛрдбреНрд╕ рдЖрдгрд┐ рд╕реНрдерд╛рдкрд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рд╕рд╛рдареА рдпреЛрдЧреНрдп рдирд╛рд╣реА.

рдпреБрдирд┐рдлрд╛рдЗрдб рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдореЙрдбреЗрд▓

рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрдЪреА рдкреВрд░реНрддрддрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрд╛рдлреНрдХрд╛рдиреЗ рдкреНрд░рдХрд╛рд╢рди-рд╕рджрд╕реНрдпрддрд╛ рдЖрдгрд┐ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рдПрдХрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЧрдВрддрд╡реНрдпрд╕реНрдерд╛рдирд╛рдВрддрд░реНрдЧрдд рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ - рд╡рд┐рд╖рдп. рдореЗрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рдХрд╛рдо рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рд╣реЗ рдЧреЛрдВрдзрд│рд╛рдд рдЯрд╛рдХрдгрд╛рд░реЗ рдЖрд╣реЗ, рдЬрд┐рдереЗ "рд╡рд┐рд╖рдп" рд╣рд╛ рд╢рдмреНрдж рдкреНрд░рд╕рд╛рд░рдг рдпрдВрддреНрд░рдгреЗрдЪрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЛ рдЬреНрдпрд╛рддреВрди (рд╡рд┐рд╖рдпрд╛рд╡рд░реВрди) рд╡рд╛рдЪрди рдЯрд┐рдХрд╛рдК рдЖрд╣реЗ. рдпрд╛ рдкреБрд╕реНрддрдХрд╛рдЪреНрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдиреЗрдд рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдпрд╛рдВрдирд╛ рд╕рдВрдХрд░рд┐рдд рдЧрдВрддрд╡реНрдп рдкреНрд░рдХрд╛рд░ рдорд╛рдирд▓реЗ рдЬрд╛рд╡реЗ.

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдЪреНрдпрд╛ рдЙрд░реНрд╡рд░рд┐рдд рднрд╛рдЧрд╛рд╕рд╛рдареА, рдЬреЛрдкрд░реНрдпрдВрдд рдЖрдореНрд╣реА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдЕрдиреНрдпрдерд╛ рдирдореВрдж рдХрд░рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд, "рд╡рд┐рд╖рдп" рд╣рд╛ рд╢рдмреНрдж рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдпрд╛рд▓рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрд▓.

рд╡рд┐рд╖рдп рдХрд╕реЗ рд╡рд╛рдЧрддрд╛рдд рдЖрдгрд┐ рддреЗ рдХреЛрдгрддреА рд╣рдореА рджреЗрддрд╛рдд рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдХрд╛рдлреНрдХрд╛рдордзреНрдпреЗ рддреНрдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд╢реА рдХреЗрд▓реА рдЬрд╛рддреЗ рд╣реЗ рдкреНрд░рдердо рдкрд╛рд╣рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдХрд╛рдлреНрдХрд╛рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдпрд╛рдЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ рд▓реЙрдЧ рдЖрд╣реЗ.
рдХрд╛рдлреНрдХрд╛рд▓рд╛ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рдгрд╛рд░реЗ рдЙрддреНрдкрд╛рджрдХ рдпрд╛ рд▓реЙрдЧрд╡рд░ рд▓рд┐рд╣рд┐рддрд╛рдд рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХ рд╕рддрдд рдкреБрдвреЗ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рдкреЙрдЗрдВрдЯрд░реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд▓реЙрдЧрдордзреВрди рд╡рд╛рдЪрддрд╛рдд. рд╡реЗрд│реЛрд╡реЗрд│реА, рдХрд╛рдлреНрдХрд╛ рд▓реЙрдЧрдЪреЗ рд╕рд░реНрд╡рд╛рдд рдЬреБрдиреЗ рднрд╛рдЧ рд╣рдЯрд╡рддреЛ, рддреНрдпрд╛ рднрд╛рдЧрд╛рдВрдордзреАрд▓ рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд рдХреА рдирд╛рд╣реА. рдХрд╛рдлреНрдХрд╛рдЪреНрдпрд╛ рдбрд┐рдЭрд╛рдЗрдирдЪрд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рднрд╛рдЧ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдмреНрд░реЛрдХрд░ рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрд▓реЗ рдХреА рдирд╛рд╣реА рдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдШреЗрдд рдирд╛рд╣реА - рд╣реА рдЧреНрд░рд╛рд╣рдХрд╛рдЪреА рдЬрдмрд╛рдмрджрд╛рд░реА рдЖрд╣реЗ.

"рд▓реЙрдЧ" рдЖрдгрд┐ "рдкреЙрдЗрдВрдЯрд░" рд╣реЗ рд╢рдмреНрдж рджрд┐рд╕рдд рдирд╛рд╣реАрдд рдХрд╛рдлреНрдХрд╛ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг. рдпрд╛ рд╕реБрдкреНрд░рд╕рд┐рджреНрдз рд╕рдВрдЬреНрдЮрд╛ рд╕рдордЬрдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЗрдереЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЖрд╣реЗрдд.

рд╣реЗ рдореЙрдбреЗрд▓ ActiveMQ рдкреЗрдХреНрд╖рд╛ рдкреВрд░реНрдгрдкрдгреЗ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗ, рдЬрд┐рдереЗ рд╕рд░реНрд╡ рд░рд╛рдВрдЧреЗрддреАрд▓ рд╕рдВрджреЗрд╢ рдПрдХрд╛рдЪ рд▓реЙрдЧрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдмреНрд░реЛрдХрд░ рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрд▓реНрдпрд╛рдирдВрддрд░ рддреЗ рд╣рдЯрд╡рд▓реЗрд▓реЗ рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддрд╛рдд.
рдЪрд▓рд╛ рдЖрддрд╛ рдереЛрдбрдВ рдЦреЛрд▓рд╡рд░ рдЬрд╛рдК рдЖрдгрд┐ рд╡рд┐рд╖рдпрд╛рдЪрд╛ рд▓реЙрдЧ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдкрд╛рд╣реВ.
рдХрд╛рдлреНрдХрд╛ рд▓реЙрдЧрдордзреНрдпреЗ рдЕрдиреЗрдХ рд╡рд┐рднрд╛рдЬрдиреЗ рдЕрд╕рддрд╛рдд (рдЖрдХреГрддреА 3-1). рдХрд╛рдлреНрдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрдирд╛рдд рдХрдбрдХ рдСрд░реНрдбрд░рдЪреА рд╣рдореА рджреЗрддреЛ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рдорд╛рдиреЗ рд╡рд┐рднрд╛рдЬрдирд╛рд▓рд╛ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рд╕рдВрджреЗрд╢ рддреНрдпрд╛рдЪ рдХреНрд░рдорд╛рдиреЗ рд╡рд╛рдЪрд▓реЗ рдЬрд╛рддреАрд▓. рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрди рд░реЛрд▓рд┐рдВрдЧ рд▓реЙрдЧ рдлрд╛рдЗрд▓ рдореНрд╣рдгреВрди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдПрдХ рдЙрдкрд╕рдВрдЪ (рд╕рдмрд╕реЗрдЯ) рддреНрдпрд╛рдЪреНрдпрд╛ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдВрдиреА рд╡рд┐рд╖рдпрд╛рд╡рд░ рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢рд╛рдВрдЪрд╛. рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдордзреНрдпреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдПрдХ рд╡рд┐рднрд╛рдЬрди рдЖрд╣реЗ. рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧрд╕рд╛рдареА рд╡рд┐рднрд╛рдЬрдирд╛рдВрдЪреА рдХрд▓реНрдкрдирд╛ рд╣реА рдХрд╛рдлреНрдХрд╛рдЪреА рдордзреНрдпрд╡рд░реНрддреА рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ.

рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛
рдЖрдХреГрддреА 3-1. рдХрд╛рдлреНрдХрд╛ рд╡рд┐рднрд╛рдЬрдиреЗ

рдЬреЗрд╡реНрд╣рд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдпрд╛рд▓рд╛ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рддреЛ рддреЗрд╡реНрд╣рд╛ рддреЛ рд╕рдВрджреЗрд╢ рдХреЛрдгрддреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд▓рд╛ рдкрд╛рдард╡рд╛рдпрдЪрд╛ рд╣реЗ рдард░рд╡рддреЛ. рд╣реЗ рдЖрдкрдг рдирдВрддрд░ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдкрд╛рд╣реВ.

рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдд рдЖрд╣реЗ

рд╕рдВрджреЗрд╢ рд╡рд╛рдЪреВ рдЗрдЪреНрдЫрд┐рдгрд╛рд░рд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдирд╛рд╡рд╛рдЪрд╛ рдкреЙрдЗрдВрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯ, рдЬреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд░рддреЗ рдСрдлрд╕реЗрдЯ рд╡рд┐рднрд╛рдЬрдирд╛рддреАрд▓ рд╕рдВрджреЗрд╢. рдСрдлрд╕реЗрдЯ рд╣реА рд╡рд╛рдвреАрд╡ рд╕реНрдерд┐рддреА рдЖрд╣реЗ рдЬреА рд╡рд┐рднрд╛рдЬрдирд╛рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ 0 рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрддреЗ. рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд group_id рджреНрд╡рд╛рд░реЗ API рдордзреНрдпреЗ рд╕рдВрджрд░реНрднрд┐рдд рдХреЗрд▓реЗрд▓рд╛ рд╣рд╛ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯ, рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдЧреНрд░рд╛рд╣рдХ рдХрд┐рдВрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА.

рдмрд░реНтАНрдпрд╛рдЪ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдо рд╕рдорд╛рдВрддрд░ рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрд╛рдзрд┐рдХ рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рдереНрд░реЗрдбреНрд╕ рд╡рд╛рдкрд░реВрди рдЧрдВрддрд╡реНрдпрд╕реНрдерд╛рдирд╛рд╡рд░реАрд▓ рдбреЗрдЯрд╛ рд╡рд╛рдЪрддрд╛рдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╕рдорд╛рди рдЧреНрд░рд╛рд╣рдХ рдЧрдЯ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгрд╛рд░реЗ рдЕрдиреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдЙрджрд╛рд╣рд░рдгреЗ рдЕрд╕рддреАрд▓.

рд╡рд╛рдЪрдирд╛рдЪреА рд╕рдорд╕реНрдпрд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рджрд░реНрд╢рд╡рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ:

  • рд╡рд┐рд╖рдпрд╛рд▓рд╛ рдЕрдиреЗрдХ рд╡рд┐рднрд╛рдЬрдиреЗ рдЖрд╣реЗрдд
  • рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреЗ рдЕрдиреЗрдХ рдЧрдЯ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╡рд┐рд╖рдп рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд
  • рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рдЧрдЯрд╛рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕реНрд╡рддрдВрддреНрд░ рдЙрджрд╛рд╣рд░рдгреЗ рдЕрд╕реВ рд╢рдХрддрд╛рдд

рд╣реА рдПрдХ рдХреНрд╖реБрд▓реНрд▓рдХ рдирд╕рд▓реЗрд▓реА рдЕрдиреЗрдХ-рддреЗ-рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ. рдХрд╛рдлреНрдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯ, рдЧреНрд░рд╛рд╣рдХ рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рд╡рд┐рднрд╛рдЬрдиреЗ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕рдВрдмрдВрдз рдХрд╕реЗ рд╣рд╛рддрд╛рд│рддреЛ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЙрддреНрддрд░реЛрддреНрддрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд╛рдЪрди рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ рдкрд╛рд╣реВ.

рдЧреНрд░рд╛рд╣рдХ рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯ

рдЪрд▓рд╛ рдкреНрд░рд╛рд░рдВрдн рдмрд┐рдВрджреВ рдореНрд╣рдгреВрди рдПрдХрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╣ рд╡рд┐рд╖рдп рдШреЗрдКрдпрд╛ (рдЖрдХреГрддреА 3-2).

рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛
рдЖрдХреГрддреА 3-2. рд╡рд┐рднрд╛рдЬрдирд╛рддреВрди рдЧреНрд░рд╛рд╣рдХ рд╡рд╛рдЪрддреЛ

рдЬреЗрд╡реНрд╣рд╛ рдЙрдкрднреЛрдХреНрддреНрдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╕реНрд╡рддрдГрдЪреНрдпрд╛ group_id рд╢реА рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╢реА рдЬреЛрдбрддреЗ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рд▓рд╛ рд░реАрдб рд╡рд┐рднрд╛рдЬрди рдЖрдгрд┐ рддреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рдордзреНрдпреЗ рдСрдлрд╕реЗрдЯ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдпрд╛ рдСрдлрд╕реЗрдЯрдЪреА рд╕реНрдерд┐рддреА рдХреНрд▓рд╛рдпрдВрдЯрдордзреНрдпреЗ рд╕рд░реНрд╡рд╛рдд рдЕрд▓реАрдХрдбреАрд▓ рд╕реНрдерд┐рддреА (рдирд╡реАрди рд╕рдВрджреЗрд╢) рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡рд╛рдд рдЬреБрдиреА рд╕реНрдерд┐рддреА (рд╕рд░реНрд╡рд╛рдд рдЬреБрдирд╛ рд╕рдВрджреЗрд╢) рдХрдбреЗ рд╕реВрдЪрдХ рдореНрд╣рдгреВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдЧреНрд░рд╛рд╣рдХ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рд╕рдВрджреЗрд╢ (рдкреЛрд▓) рд╡рд┐рдирдВрддреНрдпрд╛ рдХрд░рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рддреЗ рд▓реЙрдЧрдордзреВрди рдЕрдиреБрдХреНрд░рдореЗ рд╡рд╛рдЪрд▓реЗ рдЬрд╛рддрд╛рдд.
рдСрдлрд╕реЗрдЯ рд╕реНрдерд┐рддреА рдирд┐рдпрдорд┐рддрдкрдгреЗ рдХрд╛рдлреНрдХрд╛рд▓рд╛ рдкрд░рдд рд╡рдЪрдирдмрджреНрдз рдЕрд╕рддреЗ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рд╖рдпрд╛рдордзреНрдпреЗ рд╕рдВрджреЗрд╢ рдореНрд╣рдгреВрди рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ _рдЧреНрд░рд╛рд╣рдХ_рдСрдлрд╕реЗрдЯ. рдирд┐рдпрдорд┐рдд рдмреНрд░реЛрдХрд░рдкреНрд░рдорд╛рдгреЗ рд╡рд╛рдЪрд▓реЗрд▓реЗ рдореЗрд╕реЗрдЬ рдЕрдЬреВрдирд╣реА рд╣рдЯрд╡рд▓реЗ рдЬрд╛рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдзреАрдкрд╛рд╕реВрди рдкрд╛рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдореЗрд╕реЗрдЬрд╡рд░ рдкреБрдиреНрд╣рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдСрдлрд╕реЗрдЯ рд░рд┐рд╡рд╛рдЗрдВрдб рдХрд░реВ рд╢рдХрддреЛ.

рдЬреЗрд╡реНрд╣рд╛ рджреБрд╕рд░рд╛ рддрд╛рд░реНрдХрд┐рдХ рдЧреНрд░рд╛рд╣рдХ рднрд┐рдиреНрди group_id рд╡рд╛рдкрд░реВрди рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рддреЛ рджреБрд╕рд░рд╛ рдкреЙрдЗрдВрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ рдЬреЛ рдкрд╣рд┐рд▓реНрдпрд╛рдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░ рдЕрд╕рддреЛ (рдЖрдХреГрддреА 3-3). рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдп рдПрдХрд╛ рд░рд╛рдВрдЧреЗрдкреНрд░рдорд╛рдгреЗ рдХрд╛рд░реНрдп рдХрд░рддреЛ рдЬреЗрдереЗ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдЕрд╕рддреЛ рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд╢рди-рд╕рджрд╕реНрдпрддреНрд╡ (рдкрдм-рд╕рдм) рд╡рд┐рд╖рдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЬреНрдпрд╛рдЪреЗ рдЕрдиреЗрдХ рдЧреНрд░рд╛рд╣рдХ рд╕рджрд╕реНрдпрддреНрд╡ рдШреЗрддрд╛рдд, рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛
рдЖрдХреГрддреА 3-3. рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯрд╛рддреАрд▓ рджреЛрди рдЧреНрд░рд╛рд╣рдХ рдПрдХрд╛рдЪ рд╡рд┐рднрд╛рдЬрдирд╛рддреВрди рд╡рд╛рдЪрддрд╛рдд

рдЧреНрд░рд╛рд╣рдХ рдЧрдЯрд╛рддреАрд▓ рдЧреНрд░рд╛рд╣рдХ

рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджрд╛ рдЙрдкрднреЛрдХреНрддрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рддреАрд▓ рдбреЗрдЯрд╛ рд╡рд╛рдЪрддреЛ рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рдкреЙрдЗрдВрдЯрд░рдЪреЗ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдЕрд╕рддреЗ рдЖрдгрд┐ рдорд╛рдЧреАрд▓ рд╡рд┐рднрд╛рдЧрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ.
рдЬрд░ рдПрдХрд╛рдЪ рдЧреНрд░реБрдк_рдЖрдпрдбреАрдиреЗ рдПрдХрд╛рдЪ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╣ рдПрдХрд╛ рд╡рд┐рд╖рдпрд╛рд╢реА рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреА рдЕрдиреЗрдХ рдЙрджрд╛рд╣рд░рдгреЗ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЕрд╕рддреАрд▓, рддрд░ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд▓рд╛ рдкреЙрдЗрдВрдЯрд░рд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рджрд┐рд▓реЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рддреНрдпрд╛ рдХреНрд╖рдгрд╛рдкрд╛рд╕реВрди рддреЗ рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреАрд▓ (рдЖрдХреГрддреА 3-4).

рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛
рдЖрдХреГрддреА 3-4. рдПрдХрд╛рдЪ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯрд╛рддреАрд▓ рджреЛрди рдЧреНрд░рд╛рд╣рдХ рдПрдХрд╛рдЪ рд╡рд┐рднрд╛рдЬрдирд╛рддреВрди рд╡рд╛рдЪрддрд╛рдд

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪреА рд╣реА рдкрджреНрдзрдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ, рдПрдХ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдЕрдирдиреНрдп рдЧреНрд░рд╛рд╣рдХ рдореНрд╣рдгреВрди рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪреНрдпрд╛ "рд╕рдХреНрд░рд┐рдп-рдирд┐рд╖реНрдХреНрд░рд┐рдп" (рдХрд┐рдВрд╡рд╛ "рд╣реЙрдЯ-рд╡реЙрд░реНрдо") рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╣реЗ рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддреЗ, рдЬрд░реА рдЕрдиреЗрдХ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╕рдорд╛рдВрддрд░ ("рд╕рдХреНрд░рд┐рдп-рд╕рдХреНрд░рд┐рдп" рдХрд┐рдВрд╡рд╛ "рд╣реЙрдЯ-рд╣реЙрдЯ") рдордзреНрдпреЗ рдЪрд╛рд▓рд╡рдгреЗ рдЕрдзрд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрдкреВрд░реНрдг рдЖрд╣реЗ. рдЧреНрд░рд╛рд╣рдХ. рд╕реНрдЯрдБрдбрдмрд╛рдп рдордзреНрдпреЗ.

рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рд╣реЗ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рд╡рд░реНрддрди рд╕рд╛рдорд╛рдиреНрдп JMS рд░рд╛рдВрдЧ рдХрд╕реЗ рд╡рд╛рдЧрддреЗ рдпрд╛рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рдЕрд╕реВ рд╢рдХрддреЗ. рдпрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ, рд░рд╛рдВрдЧреЗрдд рдкрд╛рдард╡рд▓реЗрд▓реЗ рд╕рдВрджреЗрд╢ рджреЛрди рдЧреНрд░рд╛рд╣рдХрд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рди рд░реАрддреАрдиреЗ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

рдмрд░реНтАНрдпрд╛рдЪрджрд╛, рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдЙрдкрднреЛрдХреНрддреНрдпрд╛рдВрдЪреА рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЙрджрд╛рд╣рд░рдгреЗ рддрдпрд╛рд░ рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рд╕рдорд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд╡рд╛рдЪрдирд╛рдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд╡рд╛рдЪрди рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрдерд┐рд░рддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд╕реЗ рдХрд░рддреЛ. рдПрдХрд╛ рд╡реЗрд│реА рдлрдХреНрдд рдПрдХрдЪ рдЙрдкрднреЛрдХреНрддреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕рдВрдЧ рд╡рд┐рднрд╛рдЬрдирд╛рддреВрди рдбреЗрдЯрд╛ рд╡рд╛рдЪреВ рд╢рдХрддреЛ, рдХрд╛рдлреНрдХрд╛рдордзреНрдпреЗ рд╣реЗ рдХрд╕реЗ рд╕рд╛рдзреНрдп рд╣реЛрддреЗ?

рд╣реЗ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдереНрд░реЗрдб рдкреВрд▓рдордзреНрдпреЗ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрд▓ рдЧреНрд░рд╛рд╣рдХ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░рдгреЗ. рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереНрд░реБрдкреБрдЯ рд╡рд╛рдврд╡рдд рдЕрд╕рддрд╛рдирд╛, рддреЛ рдЧреНрд░рд╛рд╣рдХ рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдЪреА рдЬрдЯрд┐рд▓рддрд╛ рд╡рд╛рдврд╡рддреЛ рдЖрдгрд┐ рд╡рд╛рдЪрди рдкреНрд░рдгрд╛рд▓реАрдЪреА рдордЬрдмреВрддреА рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрд╣реА рдХрд░рдд рдирд╛рд╣реА. рд╡реАрдЬ рдмрд┐рдШрд╛рдбрд╛рдореБрд│реЗ рдХрд┐рдВрд╡рд╛ рддрддреНрд╕рдо рдШрдЯрдиреЗрдореБрд│реЗ рдЧреНрд░рд╛рд╣рдХрд╛рдЪреА рдПрдХ рдкреНрд░рдд рдЦрд╛рд▓реА рдЧреЗрд▓реНрдпрд╛рд╕ рд╡рдЬрд╛рдмрд╛рдХреА рдерд╛рдВрдмрддреЗ.

рдХрд╛рдлреНрдХрд╛рдордзреАрд▓ рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рдмреА╨ЮрдЕрдзрд┐рдХ рд╡рд┐рднрд╛рдЬрдиреЗ.

рд╡рд┐рднрд╛рдЬрди рдХрд░рдгреЗ

рд╡рд┐рднрд╛рдЬрдиреЗ рд╣реА рдПрдХрд▓ рдмреНрд░реЛрдХрд░ рдЙрджрд╛рд╣рд░рдгрд╛рдЪреНрдпрд╛ рдмрдБрдбрд╡рд┐рдбреНрдердЪреНрдпрд╛ рдкрд▓реАрдХрдбреЗ рд╡рд╛рдЪрди рдЖрдгрд┐ рд╡рд┐рд╖рдп рд╕реНрдХреЗрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдореБрдЦреНрдп рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ. рд╣реЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рджреЛрди рд╡рд┐рднрд╛рдЬрдирд╛рдВрд╕рд╣ рдПрдХ рд╡рд┐рд╖рдп рдЖрд╣реЗ рдЖрдгрд┐ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдпрд╛ рд╡рд┐рд╖рдпрд╛рдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреЗрддреЛ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдпрд╛ (рдЖрдХреГрддреА 3-5).

рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛
рдЖрдХреГрддреА 3-5. рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреЗрдХ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреВрди рд╡рд╛рдЪрддреЛ

рдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рдЧреНрд░рд╛рд╣рдХрд╛рд▓рд╛ рджреЛрдиреНрд╣реА рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреАрд▓ рддреНрдпрд╛рдЪреНрдпрд╛ group_id рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреЙрдЗрдВрдЯрд░рд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рджрд┐рд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рджреЛрдиреНрд╣реА рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреВрди рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рдЬрд╛рддреЗ.
рдЬреЗрд╡реНрд╣рд╛ рдпрд╛рдЪ рдЧреНрд░реБрдк_рдЖрдпрдбреАрд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреНрд░рд╛рд╣рдХ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ, рддреЗрд╡реНрд╣рд╛ рдХрд╛рдлреНрдХрд╛ рдкрд╣рд┐рд▓реНрдпрд╛рдкрд╛рд╕реВрди рджреБрд╕-рдпрд╛ рдЙрдкрднреЛрдХреНрддреНрдпрд╛рд▓рд╛ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдкреИрдХреА рдПрдХ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдЯрдк рдХрд░рддреЛ. рддреНрдпрд╛рдирдВрддрд░, рдЙрдкрднреЛрдХреНрддреНрдпрд╛рдЪреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рд╖рдпрд╛рдЪреНрдпрд╛ рдПрдХрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рддреВрди рд╡рд╛рдЪрд▓реЗ рдЬрд╛рдИрд▓ (рдЖрдХреГрддреА 3-6).

рд╕рдВрджреЗрд╢рд╛рдВрдЪреА 20 рдереНрд░реЗрдбреНрд╕рдордзреНрдпреЗ рд╕рдорд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ рд╣реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд┐рдорд╛рди 20 рд╡рд┐рднрд╛рдЬрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рдЬрд░ рдХрдореА рд╡рд┐рднрд╛рдЬрдиреЗ рдЕрд╕рддреАрд▓, рддрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЕрд╕реЗ рдЧреНрд░рд╛рд╣рдХ рд░рд╛рд╣рддреАрд▓ рдЬреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА, рдЬрд╕реЗ рдХреА рдЕрдирдиреНрдп рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рдЪрд░реНрдЪреЗрдд рдЖрдзреА рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ 3. рдХрд╛рдлреНрдХрд╛
рдЖрдХреГрддреА 3-6. рдПрдХрд╛рдЪ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯрд╛рддреАрд▓ рджреЛрди рдЧреНрд░рд╛рд╣рдХ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреВрди рд╡рд╛рдЪрддрд╛рдд

JMS рд░рд╛рдВрдЧ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдгрд╛рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рд╣реА рдпреЛрдЬрдирд╛ рдХрд╛рдлреНрдХрд╛ рдмреНрд░реЛрдХрд░рдЪреА рдЬрдЯрд┐рд▓рддрд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдХрдореА рдХрд░рддреЗ. рдпреЗрдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдореБрджреНрджреНрдпрд╛рдВрдЪреА рдХрд╛рд│рдЬреА рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА:

  • рд░рд╛рдКрдВрдб-рд░реЙрдмрд┐рди рд╡рд╛рдЯрдк, рдкреНрд░реАрдлреЗрдЪ рдмрдлрд░рдЪреА рд╡рд░реНрддрдорд╛рди рдХреНрд╖рдорддрд╛ рдХрд┐рдВрд╡рд╛ рдорд╛рдЧреАрд▓ рд╕рдВрджреЗрд╢ (рдЬреЗрдПрдордПрд╕ рд╕рдВрджреЗрд╢ рдЧрдЯрд╛рдВрдкреНрд░рдорд╛рдгреЗ) рдпрд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рдХреЛрдгрддреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рд▓рд╛ рдкреБрдвреАрд▓ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╡реНрд╣рд╛рд╡рд╛.
  • рдХреЛрдгрддреЗ рд╕рдВрджреЗрд╢ рдХреЛрдгрддреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕ рддреЗ рдкреБрдиреНрд╣рд╛ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рд╡реЗрдд.

рдХрд╛рдлреНрдХрд╛ рдмреНрд░реЛрдХрд░рдиреЗ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╡рд┐рдирдВрддреА рдХреЗрд▓реНрдпрд╛рд╡рд░ рддреНрдпрд╛рдВрдирд╛ рдХреНрд░рдорд╛рдиреЗ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд╛рдпрдЪреЗ рдЕрд╕рддрд╛рдд.

рддрдерд╛рдкрд┐, рдкреНрд░реВрдлрд░реАрдбрд┐рдВрдЧ рдЖрдгрд┐ рдЕрдпрд╢рд╕реНрд╡реА рд╕рдВрджреЗрд╢ рдкреБрдиреНрд╣рд╛ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреВрд░ рд╣реЛрдд рдирд╛рд╣реАрдд - рддреНрдпрд╛рдВрдЪреА рдЬрдмрд╛рдмрджрд╛рд░реА рдлрдХреНрдд рдмреНрд░реЛрдХрд░рдХрдбреВрди рдХреНрд▓рд╛рдпрдВрдЯрдХрдбреЗ рдЬрд╛рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреЗ рддреБрдордЪреНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд.

рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рдд рдЖрд╣реЗ

рдХреЛрдгрддреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд▓рд╛ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд╛рдпрдЪрд╛ рд╣реЗ рдард░рд╡рдгреНрдпрд╛рдЪреА рдЬрдмрд╛рдмрджрд╛рд░реА рддреНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдЪреНрдпрд╛ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдЪреА рдЕрд╕рддреЗ. рд╣реЗ рдХреЛрдгрддреНрдпрд╛ рдпрдВрддреНрд░рдгреЗрджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░рдердо рдЖрдкрдг рдиреЗрдордХреЗ рдХрд╛рдп рдкрд╛рдард╡рдд рдЖрд╣реЛрдд рдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЬреЗрдПрдордПрд╕рдордзреНрдпреЗ рдЖрдореНрд╣реА рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рд╣реЗрдбрд░ рдЖрдгрд┐ рдЧреБрдгрдзрд░реНрдо) рдЖрдгрд┐ рдкреЗрд▓реЛрдб (рдкреЗрд▓реЛрдб) рдЕрд╕рд▓реЗрд▓реА рдмреЙрдбреА рдЕрд╕рд▓реЗрд▓реА рд╕рдВрджреЗрд╢ рд░рдЪрдирд╛ рд╡рд╛рдкрд░рддреЛ, рддрд░ рдХрд╛рдлреНрдХрд╛рдордзреНрдпреЗ рд╕рдВрджреЗрд╢ рдЖрд╣реЗ рдЬреЛрдбреА "рдХреА-рдореВрд▓реНрдп". рд╕рдВрджреЗрд╢ рдкреЗрд▓реЛрдб рдореВрд▓реНрдп рдореНрд╣рдгреВрди рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рддреЛ. рдХреА, рджреБрд╕рд░реАрдХрдбреЗ, рдореБрдЦреНрдпрддрдГ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреАрд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рд╕рдорд╛рди рд╡рд┐рднрд╛рдЬрдирд╛рдд рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА.

рдзрдбрд╛ 2 рдордзреНрдпреЗ, рдЖрдореНрд╣реА рдСрдирд▓рд╛рдЗрди рд╕рдЯреНрдЯреЗрдмрд╛рдЬреАрдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬреЗрдереЗ рд╕рдВрдмрдВрдзрд┐рдд рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рд╡рд░ рдПрдХрд╛рдЪ рдЧреНрд░рд╛рд╣рдХрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЦрд╛рддреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ.
  2. рдЦрд╛рддреНрдпрд╛рдд рдкреИрд╕реЗ рдЬрдорд╛ рд╣реЛрддрд╛рдд.
  3. рдЦрд╛рддреНрдпрд╛рддреВрди рдкреИрд╕реЗ рдХрд╛рдврдгреНрдпрд╛рдЪреА рдкреИрдЬ рд▓рд╛рд╡рд▓реА рдЬрд╛рддреЗ.

рдЬрд░ рдкреНрд░рддреНрдпреЗрдХ рдЗрд╡реНрд╣реЗрдВрдЯ рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдкреЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓рд╛ рд╕рдВрджреЗрд╢ рдЕрд╕реЗрд▓, рддрд░ рдиреИрд╕рд░реНрдЧрд┐рдХ рдХреА рдЦрд╛рддреЗ рдЖрдпрдбреА рдЕрд╕реЗрд▓.
рдЬреЗрд╡реНрд╣рд╛ рдХрд╛рдлреНрдХрд╛ рдкреНрд░реЛрдбреНрдпреВрд╕рд░ API рд╡рд╛рдкрд░реВрди рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рддреЛ, рддреЗрд╡реНрд╣рд╛ рддреЛ рд╡рд┐рднрд╛рдЬрди рдлрдВрдХреНрд╢рдирд▓рд╛ рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╕рджреНрдп рд╕реНрдерд┐рддреА рдкрд╛рд╣рддрд╛, рдЬреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд▓рд╛ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд╛рдпрдЪрд╛ рдЖрд╣реЗ рддреНрдпрд╛рдЪрд╛ рдЖрдпрдбреА рджреЗрддреЛ. рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЬрд╛рд╡рд╛рдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрдирдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рд╣рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдпрд╛рд╕рд╛рд░рдЦрд╛ рджрд┐рд╕рддреЛ:

interface Partitioner {
    int partition(String topic,
        Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster);
}

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

рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рд╡рд┐рднрд╛рдЬрдирд╛рдЪреА рд░рдгрдиреАрддреА рд▓рд┐рд╣рд┐рдд рдЖрд╣реЗ

рдЖрдкрдг рдореЗрд╕реЗрдЬ рдкреЗрд▓реЛрдбрд╕рд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд╛рдард╡реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реЗрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ. рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рддреАрд▓ рдкреЗрд▓реЛрдб рд╣реА рдЧреЗрдо рдЦрд╛рддреНрдпрд╛рдд рдЬрдорд╛ рдХрд░рдгреНрдпрд╛рдЪреА рд╕реВрдЪрдирд╛ рдЖрд╣реЗ. рд╕реВрдЪрдирд╛ рд╣реА рдЕрд╢реА рдПрдХ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ рдЬреНрдпрд╛рдЪреА рдЖрдореНрд╣реА рд╣рдореА рджреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ рдХреА рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рдирдордзреНрдпреЗ рд╕реБрдзрд╛рд░рдгрд╛ рдХреЗрд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдЦрд╛рддреНрд░реА рдХрд░реВрди рдШреНрдпрд╛рдпрдЪреА рдЖрд╣реЗ рдХреА рдХреЗрд╡рд│ рдПрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рд┐рд╕реНрдЯрдо рд╣реА рд╕реВрдЪрдирд╛ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддреЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдкрд╛рдард╡рдгреЗ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгрд╛рд░реА рдпрдВрддреНрд░рдгрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рд╣рдордд рдЖрд╣реЗ.
рд╕рд╛рдорд╛рдиреНрдп JMS рдордзреНрдпреЗ, рдЖрдореНрд╣реА рдлрдХреНрдд "рд╕рдВрджреЗрд╢ рд╕реНрд╡рд╛рдХреНрд╖рд░реА" рдЧреБрдгрдзрд░реНрдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рддреЛ рд╕рдВрджреЗрд╢рд╛рдд рдЬреЛрдбрддреЛ. рддрдерд╛рдкрд┐, рдХрд╛рдлреНрдХрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рджреЗрдд рдирд╛рд╣реА, рдлрдХреНрдд рдПрдХ рдХрд│ рдЖрдгрд┐ рдореВрд▓реНрдп.

рдореВрд▓реНрдп рд╣реЗ рдмрдБрдХ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдкреЗрд▓реЛрдб рдЕрд╕рд▓реНрдпрд╛рдиреЗ рдЬреНрдпрд╛рдЪреА рдЕрдЦрдВрдбрддрд╛ рдЖрдореНрд╣реА рдЬрддрди рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдХреА рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдкрд░реНрдпрд╛рдп рдирд╛рд╣реА. рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВрди рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рдЦрд╛рддреЗ рдЖрдпрдбреАрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рдХрд╛рд░рдг рдЦрд╛рддреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдХреНрд░рдорд╛рдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ JSON рд░рдЪрдирд╛ рдШреЗрдКрди рдпреЗрдК:

{
  "signature": "541661622185851c248b41bf0cea7ad0",
  "accountId": "10007865234"
}

рдкреЗрд▓реЛрдбрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреЗ рдореВрд▓реНрдп рдмрджрд▓рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╡рд┐рднрд╛рдЬрдирдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдбрд┐рдлреЙрд▓реНрдЯ рд╣реЕрд╢рд┐рдВрдЧ рд╕реНрдЯреНрд░реЕрдЯреЗрдЬреА рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢рд╛рдВрдирд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рдкрдгреЗ рдЧрдЯрдмрджреНрдз рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреА рд╕реНрд╡рддрдГрдЪреА рд░рдгрдиреАрддреА рд▓рд┐рд╣рд╛рд╡реА рд▓рд╛рдЧреЗрд▓ рдЬреА рд╣реА рдХреА рдкрд╛рд░реНрд╕ рдХрд░реЗрд▓ рдЖрдгрд┐ accountId рдореВрд▓реНрдпрд╛рдЪреЗ рд╡рд┐рднрд╛рдЬрди рдХрд░реЗрд▓.

рдХрд╛рдлреНрдХрд╛рдордзреНрдпреЗ рд╕реНрдЯреЛрдЕрд░рдордзреАрд▓ рд╕рдВрджреЗрд╢рд╛рдВрдЪреЗ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдЪреЗрдХрд╕рдо рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рд╕реБрд░рдХреНрд╖рд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рдВрдЪ рдЖрд╣реЗ. рддрд░реАрд╣реА, рдЙрджреНрдпреЛрдЧ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛, рдЬрд╕реЗ рдХреА рд╡рд░реАрд▓рдкреНрд░рдорд╛рдгреЗ, рдХрдзреАрдХрдзреА рджрд┐рд╕реВрди рдпреЗрддреЗ.

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

рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рддреАрд▓ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдмрджрд▓реВ рд╢рдХрддреЗ, рдХрд╛рд░рдг рдЬрд░ рд╡рд╛рд╣рддреВрдХ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖реЗрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕реЗрд▓ рддрд░ рддреЗ рдЬреЛрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рдореЗрд╕реЗрдЬ рдХреА рддреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд╢реА рдирд┐рдЧрдбреАрдд рдЕрд╕реВ рд╢рдХрддрд╛рдд рдЬреНрдпрд╛рд▓рд╛ рддреЗ рдореВрд▓рддрдГ рдкрд╛рдард╡рд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдЬреЗ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░рд╛рдЬреНрдпрд╛рдЪрд╛ рднрд╛рдЧ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ.

рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреНрдпрд╛рдЬреЛрдЧрд╛ рджреБрд╕рд░рд╛ рдШрдЯрдХ рдореНрд╣рдгрдЬреЗ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреНрдпреЗ рд╕рдВрджреЗрд╢рд╛рдВрдЪреЗ рд╕рдорд╛рди рд╡рд┐рддрд░рдг. рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдХреА рд╕рдВрджреЗрд╢рд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рди рд░реАрддреАрдиреЗ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╣реЕрд╢ рдлрдВрдХреНрд╢рдиреНрд╕ рдХреАрдЪреНрдпрд╛ рдЫреЛрдЯреНрдпрд╛ рд╕рдВрдЪрд╛рд╕рд╛рдареА рд╕рдВрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рдпреЛрдЧреНрдп рд╡рд┐рддрд░рдгрд╛рдЪреА рд╣рдореА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реА.
рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рдЖрдкрдг рд╕рдВрджреЗрд╢ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреЗ рдирд┐рд╡рдбрд▓реЗ рдЕрд╕рд▓реЗ рддрд░реА, рд╡рд┐рднрд╛рдЬрдХ рд╕реНрд╡рддрдГрдЪ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реВ рд╢рдХрддреЗ.

рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рднреМрдЧреЛрд▓рд┐рдХ рдард┐рдХрд╛рдгреА рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреАрд▓ рдбреЗрдЯрд╛рдЪреА рдкреНрд░рддрд┐рдХреГрддреА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреНрдпрд╛. рдпрд╛ рдЙрджреНрджреЗрд╢рд╛рд╕рд╛рдареА, рдХрд╛рдлреНрдХрд╛ рдорд┐рд░рд░рдореЗрдХрд░ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓рд╕рд╣ рдпреЗрддреЛ, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдПрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рджреБрд╕рд░реНтАНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рдкреНрд░рддрд┐рдХреГрддреА рдмрдирд╡рддрд╛рдирд╛ рд╕рдВрджреЗрд╢рд╛рдВрдордзреАрд▓ рд╕рд╛рдкреЗрдХреНрд╖ рдХреНрд░рдо рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдорд┐рд░рд░рдореЗрдХрд░рдиреЗ рдкреНрд░рддрд┐рдХреГрддреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдЪреНрдпрд╛ рдХрд│рд╛ рд╕рдордЬреВрди рдШреЗрддрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд, рдХрд╛рд░рдг рддреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рд╕рд╛рдареА рд╡рд┐рднрд╛рдЬрдирд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рджреЛрди рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕рдорд╛рди рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА.

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

рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рдХрд╛рд╣реА рдЬрдмрд╛рдмрджрд╛рд▒реНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдХрдбреЗ рд╣рд▓рд╡рд▓реНрдпрд╛рдореБрд│реЗ рдХрд╛рдлреНрдХрд╛рдЪреЗ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рдХрд╛рдордЧрд┐рд░реАрдЪреЗ рдлрд╛рдпрджреЗ рдорд┐рд│рддрд╛рдд. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╕рдорд╛рдВрддрд░ рдХрд╛рдо рдХрд░рдгрд╛рд▒реНрдпрд╛ рдЕрдиреЗрдХ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдордзреНрдпреЗ рд╕рдВрднрд╛рд╡реНрдп рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ рдЬрд╛рддреЛ.

рдЬреЗрдПрдордПрд╕ рдмреНрд░реЛрдХрд░реНрд╕рдирд╛ рджреЗрдЦреАрд▓ рдЕрд╢рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрдирд╛ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╡рд┐рд╢реЗрд╖ рдореНрд╣рдгрдЬреЗ, JMS рдореЗрд╕реЗрдЬ рдЧреНрд░реБрдкреНрд╕ (рд╕реНрдЯрд┐рдХреА рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ (SLB) рд╕реНрдЯреНрд░реЕрдЯреЗрдЬреАрд╡рд░реАрд▓ рдПрдХ рдлрд░рдХ) рджреНрд╡рд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╛рди рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рдгреНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рджреЗрдЦреАрд▓ рдкреНрд░реЗрд╖рдХрд╛рдиреЗ рд╕рдВрджреЗрд╢рд╛рдВрдирд╛ рд╕рдВрдмрдВрдзрд┐рдд рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. JMS рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдмреНрд░реЛрдХрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢рд╛рдВрдЪрд╛ рд╣рд╛ рд╕рдореВрд╣ рдЕрдиреЗрдХрд╛рдВрдкреИрдХреА рдПрдХрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рд▓рд╛ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХ рдХрдореА рдЭрд╛рд▓реНрдпрд╛рд╕ рд╕рдореВрд╣рд╛рдЪреА рдорд╛рд▓рдХреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рддреЛ.

рдЙрддреНрдкрд╛рджрдХ рдХрд░рд╛рд░

рдореЗрд╕реЗрдЬ рдкрд╛рдард╡рддрд╛рдирд╛ рдХреЗрд╡рд│ рд╡рд┐рднрд╛рдЬрдирд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА. Java API рдордзреАрд▓ рдкреНрд░реЛрдбреНрдпреБрд╕рд░ рдХреНрд▓рд╛рд╕рдЪреНрдпрд╛ send() рдкрджреНрдзрддреАрдВрд╡рд░ рдПрдХ рдирдЬрд░ рдЯрд╛рдХреВрдпрд╛:

Future < RecordMetadata > send(ProducerRecord < K, V > record);
Future < RecordMetadata > send(ProducerRecord < K, V > record, Callback callback);

рд╣реЗ рддрд╛рдмрдбрддреЛрдм рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рджреЛрдиреНрд╣реА рдкрджреНрдзрддреА рдлреНрдпреВрдЪрд░ рдкрд░рдд рдХрд░рддрд╛рдд, рдЬреЗ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рдХреА рдкрд╛рдард╡рдгреНрдпрд╛рдЪреЗ рдСрдкрд░реЗрд╢рди рддреНрд╡рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА. рдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛ рд╣реЛрддреЛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕рдХреНрд░рд┐рдп рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рдкрд╛рдард╡рд╛ рдмрдлрд░рд╡рд░ рд╕рдВрджреЗрд╢ (ProducerRecord) рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╛рдпрдВрдЯ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдереНрд░реЗрдб рдореНрд╣рдгреВрди рдмреНрд░реЛрдХрд░рд▓рд╛ рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рддреЛ. рдпрд╛рдореБрд│реЗ рдЧреЛрд╖реНрдЯреА рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХрдкрдгреЗ рд╡реЗрдЧрд╡рд╛рди рдмрдирддрд╛рдд, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдЕрдирдиреБрднрд╡реА рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдерд╛рдВрдмрд▓реНрдпрд╛рд╕ рд╕рдВрджреЗрд╢ рдЧрдорд╛рд╡реВ рд╢рдХрддрд╛рдд.

рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ, рдХрд╛рдордЧрд┐рд░реАрдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╡рд░ рдкрд╛рдард╡рд╛ рдСрдкрд░реЗрд╢рди рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдмрдирд╡рд┐рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗ. рдпрд╛ рдмрдлрд░рдЪрд╛ рдЖрдХрд╛рд░ 0 рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЖрдгрд┐ рдкрд╛рдард╡рдгрд╛рд▒реНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдереНрд░реЗрдбрд▓рд╛ рдмреНрд░реЛрдХрд░рд▓рд╛ рдореЗрд╕реЗрдЬ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдкреВрд░реНрдг рд╣реЛрдИрдкрд░реНрдпрдВрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрд▓реЗ рдЬрд╛рдИрд▓, рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ:

RecordMetadata metadata = producer.send(record).get();

рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдгреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ

рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдгреНрдпрд╛рдд рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдВрддрд╛рдЧреБрдВрдд рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд▓рд╛ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. JMS API рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдЬреЗ рд╕рдВрджреЗрд╢рд╛рдЪреНрдпрд╛ рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдд рд╕рдВрджреЗрд╢ рд╢реНрд░реЛрддрд╛ рдЪрд╛рд▓рд╡реВ рд╢рдХрддреЗ, рдж рдЧреНрд░рд╛рд╣рдХ рдХрд╛рдлреНрдХрд╛ рдлрдХреНрдд рдорддрджрд╛рди рдХрд░рддреЛ. рдЪрд▓рд╛ рдкрджреНрдзрдд рдЬрд╡рд│реВрди рдкрд╛рд╣реВ рдорддрджрд╛рди()рдпрд╛ рдЙрджреНрджреЗрд╢рд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ:

ConsumerRecords < K, V > poll(long timeout);

рдкрджреНрдзрддреАрдЪреЗ рд░рд┐рдЯрд░реНрди рд╡реНрд╣реЕрд▓реНрдпреВ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдПрдХрд╛рдзрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрд╣реЗрдд рдЧреНрд░рд╛рд╣рдХ рд░реЗрдХреЙрд░реНрдб рд╕рдВрднрд╛рд╡реНрдп рдЕрдиреЗрдХ рд╡рд┐рднрд╛рдЬрдирд╛рдВрдордзреВрди. рдЧреНрд░рд╛рд╣рдХ рд░реЗрдХреЙрд░реНрдб рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛рд╕рд╣ рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреАрд╕рд╛рдареА рд╕реНрд╡рддрдГ рдПрдХ рдзрд╛рд░рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рд╡рд┐рднрд╛рдЬрди рдЬреНрдпрд╛рдкрд╛рд╕реВрди рддреЗ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдзрдбрд╛ 2 рдордзреНрдпреЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рд╕рдВрджреЗрд╢рд╛рдВрдЪреА рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рдХрд┐рдВрд╡рд╛ рдЕрдпрд╢рд╕реНрд╡реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рддреНрдпрд╛рдВрдЪреЗ рдХрд╛рдп рд╣реЛрддреЗ рд╣реЗ рдЖрдкрдг рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреНрд▓рд╛рдпрдВрдЯ рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдХреНрд╖рдо рдЕрд╕рд▓реНрдпрд╛рд╕ рдХрд┐рдВрд╡рд╛ рддреЛ рд░рджреНрдж рдЭрд╛рд▓реНрдпрд╛рд╕. JMS рдордзреНрдпреЗ, рд╣реЗ рдкреЛрдЪрдкрд╛рд╡рддреА рдкрджреНрдзрддреАрджреНрд╡рд╛рд░реЗ рд╣рд╛рддрд╛рд│рд▓реЗ рдЧреЗрд▓реЗ. рдмреНрд░реЛрдХрд░ рдПрдХрддрд░ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗрд▓рд╛ рдореЗрд╕реЗрдЬ рдбрд┐рд▓реАрдЯ рдХрд░реЗрд▓ рдХрд┐рдВрд╡рд╛ рдХрдЪреНрдЪрд╛ рдХрд┐рдВрд╡рд╛ рдЦреЛрдЯрд╛ рдореЗрд╕реЗрдЬ рдкреБрдиреНрд╣рд╛ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрд▓ (рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╛рдкрд░рд▓реЗ рдЧреЗрд▓реЗ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВрди).
рдХрд╛рдлреНрдХрд╛ рдЦреВрдк рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдХрд╛рдо рдХрд░рддреЛ. рдмреНрд░реЛрдХрд░рдордзреНрдпреЗ рдкреНрд░реВрдлрд░реАрдбрд┐рдВрдЧрдирдВрддрд░ рдореЗрд╕реЗрдЬ рдбрд┐рд▓реАрдЯ рд╣реЛрдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рдХрд╛рдп рд╣реЛрддреЗ рдпрд╛рдЪреА рдЬрдмрд╛рдмрджрд╛рд░реА рдкреНрд░реВрдлрд░реАрдбрд┐рдВрдЧ рдХреЛрдбрдЪреАрдЪ рдЕрд╕рддреЗ.

рдЖрдореНрд╣реА рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЧреНрд░рд╛рд╣рдХ рдЧрдЯ рд▓реЙрдЧрдордзреАрд▓ рдСрдлрд╕реЗрдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ. рдпрд╛ рдСрдлрд╕реЗрдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд▓реЙрдЧ рдкреЛрдЭрд┐рд╢рди рдкреБрдвреАрд▓ рд╕рдВрджреЗрд╢рд╛рдЪреНрдпрд╛ рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдд рдЬрд╛рд░реА рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдорддрджрд╛рди(). рдЬреЗрд╡реНрд╣рд╛ рд╣рд╛ рдСрдлрд╕реЗрдЯ рд╡рд╛рдврддреЛ рддреЗрд╡реНрд╣рд╛рдЪрд╛ рдореБрджреНрджрд╛ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рд░реНрдгрд╛рдпрдХ рдЕрд╕рддреЛ.

рдЖрдзреА рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдЪрди рдореЙрдбреЗрд▓рдХрдбреЗ рдкрд░рдд рдЖрд▓реНрдпрд╛рд╡рд░, рд╕рдВрджреЗрд╢ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рддреАрди рдЯрдкреНрдкреЗ рдЕрд╕рддрд╛рдд:

  1. рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрджреЗрд╢ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рд╛.
  2. рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рд╛.
  3. рд╕рдВрджреЗрд╢рд╛рдЪреА рдкреБрд╖реНрдЯреА рдХрд░рд╛.

рдХрд╛рдлреНрдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкрд░реНрдпрд╛рдпрд╛рд╕рд╣ рдпреЗрддреЛ enable.auto.commit. рд╣реЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдгрд╛рд░реЗ рдбреАрдлреЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА "рдСрдЯреЛ" рд╢рдмреНрдж рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ.

рдХрд╛рдлреНрдХрд╛ 0.10 рдЪреНрдпрд╛ рдЖрдзреА, рд╣рд╛ рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░рдгрд╛рд░рд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдкреБрдвреАрд▓ рдХреЙрд▓рд╡рд░ рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдЪрд╛ рдСрдлрд╕реЗрдЯ рдкрд╛рдард╡реЗрд▓. рдорддрджрд╛рди() рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрддреЛ рдХреА рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдЖрдзреАрдЪ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓реЗ рдХреЛрдгрддреЗрд╣реА рд╕рдВрджреЗрд╢ рдкреБрдиреНрд╣рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдкрд░рдВрддреБ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреЗ рдЕрдирдкреЗрдХреНрд╖рд┐рддрдкрдгреЗ рдирд╖реНрдЯ рдЭрд╛рд▓реЗ рдЖрд╣реЗрдд. рдорддрджрд╛рди(). рдмреНрд░реЛрдХрд░ рд╕рдВрджреЗрд╢ рдХрд┐рддреА рд╡реЗрд│рд╛ рд╡рд╛рдЪрд▓рд╛ рдЖрд╣реЗ рдпрд╛рдЪреА рдХреЛрдгрддреАрд╣реА рд╕реНрдерд┐рддреА рдареЗрд╡рдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рддреЛ рд╕рдВрджреЗрд╢ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдкреБрдвреАрд▓ рдЧреНрд░рд╛рд╣рдХрд╛рд▓рд╛ рдХрд╛рд╣реАрддрд░реА рд╡рд╛рдИрдЯ рдЭрд╛рд▓реЗ рдЖрд╣реЗ рд╣реЗ рдХрд│рдгрд╛рд░ рдирд╛рд╣реА. рд╣реЗ рд╡рд░реНрддрди рдЫрджреНрдо-рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддреЗ. рдСрдлрд╕реЗрдЯ рдХреЗрд╡рд│ рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЧреЗрд▓реА рдЕрд╕реЗрд▓ рддрд░рдЪ рд╡рдЪрдирдмрджреНрдз рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдирд┐рд░рд╕реНрдд рдХреЗрд▓реНрдпрд╛рд╕, рдмреНрд░реЛрдХрд░ рддреЛрдЪ рд╕рдВрджреЗрд╢ рджреБрд╕рд░реНтАНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдкреБрдиреНрд╣рд╛ рдкрд╛рдард╡реЗрд▓. рд╣реЗ рд╡рд░реНрддрди рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рд╣рдореАрд╢реА рд╕реБрд╕рдВрдЧрдд рд╣реЛрддреЗ "рдПрдХрджрд╛ рддрд░реА".

рдХрд╛рдлреНрдХрд╛ 0.10 рдордзреНрдпреЗ, рдХреНрд▓рд╛рдпрдВрдЯ рдХреЛрдб рдмрджрд▓рд▓рд╛ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдХреНрд▓рд╛рдпрдВрдЯ рд▓рд╛рдпрдмреНрд░рд░реАрджреНрд╡рд╛рд░реЗ рдХрдорд┐рдЯ рд╡реЗрд│реЛрд╡реЗрд│реА рдЯреНрд░рд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓. auto.commit.interval.ms. рд╣реЗ рд╡рд░реНрддрди JMS AUTO_ACKNOWLEDGE рдЖрдгрд┐ DUPS_OK_ACKNOWLEDGE рдореЛрдб рджрд░рдореНрдпрд╛рди рдХреБрдареЗрддрд░реА рдЖрд╣реЗ. рдСрдЯреЛрдХрдорд┐рдЯ рд╡рд╛рдкрд░рддрд╛рдирд╛, рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рдпрд╛рдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛ рд╡рдЪрдирдмрджреНрдз рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ - рд╣реЗ рдзреАрдореЗ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╣реЛрдК рд╢рдХрддреЗ. рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдиреЗ рдирд┐рд░рд╕реНрдд рдХреЗрд▓реЗ рддрд░, рд╡рдЪрдирдмрджреНрдз рд╕реНрдерд┐рддреАрдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░реЗ рд╕рдВрджреЗрд╢ рдкреБрдвреАрд▓ рдЧреНрд░рд╛рд╣рдХрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓, рдЬреНрдпрд╛рдореБрд│реЗ рд╕рдВрджреЗрд╢ рдорд┐рд╕ рд╣реЛрдК рд╢рдХрддреЛ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдХрд╛рдлреНрдХрд╛рдиреЗ рд╕рдВрджреЗрд╢ рдЧрдорд╛рд╡рд▓реЗ рдирд╛рд╣реАрдд, рд╡рд╛рдЪрди рдХреЛрдбрдиреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдирд╛рд╣реА.

рдпрд╛ рдореЛрдбрдордзреНрдпреЗ рдЖрд╡реГрддреНрддреА 0.9 рдкреНрд░рдорд╛рдгреЗрдЪ рд╡рдЪрди рдЖрд╣реЗ: рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдЬрд░ рддреЗ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЗ, рддрд░ рдСрдлрд╕реЗрдЯ рд╡рдЪрдирдмрджреНрдз рд╣реЛрдК рд╢рдХрдд рдирд╛рд╣реА, рдЬреНрдпрд╛рдореБрд│реЗ рд╡рд┐рддрд░рдг рджреБрдкреНрдкрдЯ рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛рдирд╛ рддреБрдореНрд╣реА рдЬрд┐рддрдХреЗ рдЕрдзрд┐рдХ рд╕рдВрджреЗрд╢ рдЖрдгрддрд╛ рдорддрджрд╛рди(), рд╣реА рд╕рдорд╕реНрдпрд╛ рдЕрдзрд┐рдХ.

рдкреГрд╖реНрда 21 рд╡рд░ тАЬрд░реАрдбрд┐рдВрдЧ рдореЗрд╕реЗрдЬреЗрд╕ рдлреНрд░реЙрдо рдЕ рдХреНрдпреВтАЭ рдордзреНрдпреЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЬреЗрд╡реНрд╣рд╛ рдЕрдкрдпрд╢ рдореЛрдб рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реЗ рдЬрд╛рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╕рдВрджреЗрд╢рд╛рдЪреЗ рдПрдХ-рд╡реЗрд│ рд╡рд┐рддрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА.

рдХрд╛рдлреНрдХрд╛рдордзреНрдпреЗ, рдСрдлрд╕реЗрдЯ (рдСрдлрд╕реЗрдЯ) рдХрдорд┐рдЯ (рдХрдорд┐рдЯ) рдХрд░рдгреНрдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд: рдЖрдкреЛрдЖрдк рдЖрдгрд┐ рд╕реНрд╡рд╣рд╕реНрддреЗ. рджреЛрдиреНрд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЧреЗрд▓реА рдЕрд╕реЗрд▓ рдкрд░рдВрддреБ рдХрдорд┐рдЯ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕ рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдЬрд░ рдХрдорд┐рдЯ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореАрдд рдШрдбрд▓реЗ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреБрдордЪрд╛ рдХреЛрдб рддреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдкреВрд░реНрдг рдЭрд╛рд▓рд╛ рдЕрд╕реЗрд▓ (рдХрджрд╛рдЪрд┐рдд рдХрд╛рдлреНрдХрд╛ реж.реп рдЖрдгрд┐ рддреНрдпрд╛рдкреВрд░реНрд╡реА) рддреБрдореНрд╣реА рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рди рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛.

рддреБрдореНрд╣реА рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░реВрди рдХрд╛рдлреНрдХрд╛ рдЧреНрд░рд╛рд╣рдХ API рдордзреНрдпреЗ рдореЕрдиреНрдпреБрдЕрд▓ рдСрдлрд╕реЗрдЯ рдХрдорд┐рдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛ enable.auto.commit рдЦрд╛рд▓реАрд▓рдкреИрдХреА рдПрдХ рдкрджреНрдзрдд рдЦреЛрдЯреЗ рдЖрдгрд┐ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдХреЙрд▓ рдХрд░рдгреЗ:

void commitSync();
void commitAsync();

рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ "рдХрд┐рдорд╛рди рдПрдХрджрд╛" рдореЗрд╕реЗрдЬрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рд╛рдпрдЪреА рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рдореЕрдиреНрдпреБрдЕрд▓реА рдСрдлрд╕реЗрдЯ рдХрдорд┐рдЯ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХрдорд┐рдЯ рд╕рд┐рдВрдХ()рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рд▓рдЧреЗрдЪ рд╣реА рдЖрдЬреНрдЮрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВрди.

рдпрд╛ рдкрджреНрдзрддреА рд╕рдВрджреЗрд╢рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреЗ рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реАрдд, рдкрд░рдВрддреБ рддреЗ рд╡реНрдпрд╡рд╣рд╛рд░реА рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рджреЗрдЦрд╛рд╡рд╛ рджреЗрдд рд╕рдВрднрд╛рд╡реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рд▓рдВрдм рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрд╣реА рдХрд░рдд рдирд╛рд╣реАрдд. рдХрд╛рдлреНрдХрд╛рдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╛рд╣реАрдд. рдХреНрд▓рд╛рдпрдВрдЯрдХрдбреЗ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдирд╛рд╣реА:

  • рдмрдирд╛рд╡рдЯ рд╕рдВрджреЗрд╢ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдкрд░рдд рдХрд░рд╛. рдЧреНрд░рд╛рд╣рдХрд╛рдВрдиреА рд╕реНрд╡рдд: рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдкреЗрд▓реЛрдб рдЖрдгрд┐ рдмреЕрдХрдПрдВрдб рдЖрдЙрдЯреЗрдЬрдореБрд│реЗ рдЙрджреНрднрд╡рдгрд╛рд░реЗ рдЕрдкрд╡рд╛рдж рд╣рд╛рддрд╛рд│рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд, рдХрд╛рд░рдг рддреЗ рд╕рдВрджреЗрд╢ рдкреБрдиреНрд╣рд╛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмреНрд░реЛрдХрд░рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд░рд╛рд╣реВ рд╢рдХрдд рдирд╛рд╣реАрдд.
  • рдПрдХрд╛ рдЕрдгреБ рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рдЕрдиреЗрдХ рд╡рд┐рд╖рдпрд╛рдВрд╡рд░ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд╛. рдЬрд╕реЗ рдЖрдкрдг рд▓рд╡рдХрд░рдЪ рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд, рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдорд╢реАрдиреНрд╕рд╡рд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдВрд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рдЖрдгрд┐ рд╡рд┐рднрд╛рдЬрдиреЗ рд░рд╛рд╣реВ рд╢рдХрддрд╛рдд рдЬреЗ рдкрд╛рдард╡рд▓реНрдпрд╛рд╡рд░ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреЗ рд╕рдордиреНрд╡рдп рд╕рд╛рдзрдд рдирд╛рд╣реАрдд. рдпрд╛ рд▓реЗрдЦрдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, KIP-98 рд╕рд╣ рд╣реЗ рд╢рдХреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдХрд╛рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рдПрдХрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдПрдХ рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрдгреЗ рджреБрд╕рд░реНтАНрдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рджреБрд╕рд░рд╛ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╢реА рд╕рдВрдмрджреНрдз рдХрд░рд╛. рдкреБрдиреНрд╣рд╛, рдХрд╛рдлреНрдХрд╛рдЪреА рд╡рд╛рд╕реНрддреВ рдПрдХ рдмрд╕ рдореНрд╣рдгреВрди рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рдЕрдиреЗрдХ рд╕реНрд╡рддрдВрддреНрд░ рдорд╢реАрдирд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рд▓рдкрд╡рд┐рдгреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрд╕реЗ рдХреЛрдгрддреЗрд╣реА API рдШрдЯрдХ рдирд╛рд╣реАрдд рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд┐рдВрдХ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд рдЧреНрд░рд╛рд╣рдХ ╨╕ рдирд┐рд░реНрдорд╛рддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд. JMS рдордзреНрдпреЗ, рд╣реЗ рдСрдмреНрдЬреЗрдХреНрдЯрджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ рд╕рддреНрд░рдЬреНрдпрд╛рддреВрди рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛рдд рд╕рдВрджреЗрд╢ рдЙрддреНрдкрд╛рджрдХ ╨╕ рд╕рдВрджреЗрд╢ рдЧреНрд░рд╛рд╣рдХ.

рдЬрд░ рдЖрдореНрд╣реА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрд╡рд░ рд╡рд┐рд╕рдВрдмреВрди рд░рд╛рд╣реВ рд╢рдХрдд рдирд╛рд╣реА, рддрд░ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдорджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдЪреНрдпрд╛ рдЬрд╡рд│ рд╢рдмреНрджрд╛рд░реНрде рдХрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░реВ рд╢рдХрддреЛ?

рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЙрдкрднреЛрдХреНрддреНрдпрд╛рдЪреНрдпрд╛ рдСрдлрд╕реЗрдЯрдордзреНрдпреЗ рд╡рд╛рдв рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЬрд╕реЗ рдХреА рдЧреНрд░рд╛рд╣рдХ рдХреНрд░реЕрд╢ рджрд░рдореНрдпрд╛рди, рддрд░ рдЧреНрд░рд╛рд╣рдХрд╛рд▓рд╛ рд╣реЗ рд╕рдордЬрдгреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рдорд╛рд░реНрдЧ рдирд╛рд╣реА рдХреА рддреНрдпрд╛рдЪреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХ рдЧрдЯрд╛рд▓рд╛ рд╡рд┐рднрд╛рдЬрди рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реНрдпрд╛рд╡рд░ рд╕рдВрджреЗрд╢ рдЪреБрдХрд▓рд╛ рдХреА рдирд╛рд╣реА. рддреНрдпрд╛рдореБрд│реЗ рдПрдХ рдзреЛрд░рдг рдореНрд╣рдгрдЬреЗ рдСрдлрд╕реЗрдЯ рдорд╛рдЧреАрд▓ рд╕реНрдерд┐рддреАрдд рд░рд┐рд╡рд╛рдЗрдВрдб рдХрд░рдгреЗ. рдХрд╛рдлреНрдХрд╛ рдЧреНрд░рд╛рд╣рдХ API рдпрд╛рд╕рд╛рдареА рдЦрд╛рд▓реАрд▓ рдкрджреНрдзрддреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ:

void seek(TopicPartition partition, long offset);
void seekToBeginning(Collection < TopicPartition > partitions);

рдкрджреНрдзрдд рд╢реЛрдзрд╛() рдкрджреНрдзрддреАрдиреЗ рд╡рд╛рдкрд░рддрд╛ рдпреЗрддреЗ
offsetsForTimes(рдирдХрд╛рд╢рд╛ рдЯрд╛рдЗрдорд╕реНрдЯрдБрдкрд╢реЛрдз) рднреВрддрдХрд╛рд│рд╛рддреАрд▓ рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдПрдЦрд╛рджреНрдпрд╛ рд╕реНрдерд┐рддреАрдХрдбреЗ рдкрд░рдд рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА.

рд╕реНрдкрд╖реНрдЯрдкрдгреЗ, рд╣рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдкреВрд░реНрд╡реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗрд▓реЗ рдХрд╛рд╣реА рд╕рдВрджреЗрд╢ рд╡рд╛рдЪрд▓реЗ рдЬрд╛рддреАрд▓ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ. рд╣реЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдЖрдзреА рдкрд╛рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рдареА, рдзрдбрд╛ 4 рдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЕрджрдореНрдп рд╡рд╛рдЪрди рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ.

рд╡реИрдХрд▓реНрдкрд┐рдХрд░рд┐рддреНрдпрд╛, рдЬреЛрдкрд░реНрдпрдВрдд рд╕рдВрджреЗрд╢ рдЧрдорд╛рд╡рдгреЗ рдХрд┐рдВрд╡рд╛ рдбреБрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЖрд╣реЗ рддреЛрдкрд░реНрдпрдВрдд рддреБрдордЪрд╛ рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рд╕рд╛рдзрд╛ рдареЗрд╡рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рд▓реЙрдЧ рдЗрд╡реНрд╣реЗрдВрдЯ, рдореЗрдЯреНрд░рд┐рдХреНрд╕, рдХреНрд▓рд┐рдХ рдЯреНрд░реЕрдХрд┐рдВрдЧ рдЗ. рд╣рд╛рддрд╛рд│рдгреЗ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдХрд╛рдлреНрдХрд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдЪрд╛ рдЖрдореНрд╣реА рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬрддреЗ рдХреА рд╡реИрдпрдХреНрддрд┐рдХ рд╕рдВрджреЗрд╢ рдЧрдорд╛рд╡рд▓реНрдпрд╛рдиреЗ рдЖрд╕рдкрд╛рд╕рдЪреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╡рд░ рд▓рдХреНрд╖рдгреАрдп рдкрд░рд┐рдгрд╛рдо рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдирд╛рд╣реА. рдЕрд╢рд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдбреАрдлреЙрд▓реНрдЯ рдореВрд▓реНрдпреЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЖрд╣реЗрдд. рджреБрд╕рд░реАрдХрдбреЗ, рддреБрдордЪреНрдпрд╛ рдЕрд░реНрдЬрд╛рд▓рд╛ рджреЗрдпрдХреЗ рдкрд╛рдард╡рд╛рдпрдЪреА рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рд╡реИрдпрдХреНрддрд┐рдХ рд╕рдВрджреЗрд╢рд╛рдЪреА рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рдХрд╛рд│рдЬреА рдШреЗрддрд▓реА рдкрд╛рд╣рд┐рдЬреЗ. рд╣реЗ рд╕рд░реНрд╡ рд╕рдВрджрд░реНрднрд╛рдиреБрд╕рд╛рд░ рдпреЗрддреЗ.

рд╡реИрдпрдХреНрддрд┐рдХ рдирд┐рд░реАрдХреНрд╖рдгреЗ рджрд░реНрд╢рд╡рд┐рддрд╛рдд рдХреА рд╕рдВрджреЗрд╢рд╛рдВрдЪреА рддреАрд╡реНрд░рддрд╛ рдЬрд╕рдЬрд╢реА рд╡рд╛рдврддреЗ рддрд╕рддрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реИрдпрдХреНрддрд┐рдХ рд╕рдВрджреЗрд╢рд╛рдЪреЗ рдореВрд▓реНрдп рдХрдореА рд╣реЛрддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдПрдХрддреНрд░рд┐рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рддреЗ рддреЗрд╡реНрд╣рд╛ рдореЛрдареЗ рд╕рдВрджреЗрд╢ рдореМрд▓реНрдпрд╡рд╛рди рдЕрд╕рддрд╛рдд.

рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛

рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддреЗрд╕рд╛рдареА рдХрд╛рдлреНрдХрд╛рдЪрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди ActiveMQ рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдкреЗрдХреНрд╖рд╛ рдЦреВрдк рд╡реЗрдЧрд│рд╛ рдЖрд╣реЗ. рдХрд╛рдлреНрдХрд╛ рд╕реНрдХреЗрд▓-рдЖрдЙрдЯ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдЪреНрдпрд╛ рдЖрд╕рдкрд╛рд╕ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЬреЗрдереЗ рд╕рд░реНрд╡ рдмреНрд░реЛрдХрд░ рдЙрджрд╛рд╣рд░рдгреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛рдд рдЖрдгрд┐ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛рдд.

рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЪрд╛рд▓рдгрд╛рд▒реНрдпрд╛ рдЕрдиреЗрдХ рдмреНрд░реЛрдХрд░ рдШрдЯрдирд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕рддреЛ. рдХрд╛рдлреНрдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯрдБрдбрдЕрд▓реЛрди рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░ рдЪрд╛рд▓рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рд╣реЛрддреЗ, рдЬреЗрдереЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╕рдорд░реНрдкрд┐рдд рд╕реНрдЯреЛрд░реЗрдЬ рдЕрд╕рддреЗ. рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд▓рдЧреНрди рд╕реНрдЯреЛрд░реЗрдЬ (SAN) рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА рдХрд╛рд░рдг рдПрдХрд╛рдзрд┐рдХ рд╕рдВрдЧрдгрдХ рдиреЛрдбреНрд╕ рд╡реЗрд│реЗрд╕рд╛рдареА рд╕реНрдкрд░реНрдзрд╛ рдХрд░реВ рд╢рдХрддрд╛рдд.╨лe рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдВрддрд░рд╛рд▓ рдЖрдгрд┐ рд╕рдВрдШрд░реНрд╖ рдирд┐рд░реНрдорд╛рдг.

рдХрд╛рдлреНрдХрд╛ рдЖрд╣реЗ рдиреЗрд╣рдореА рд╕реБрд░реВ рдкреНрд░рдгрд╛рд▓реА рдмрд░реЗрдЪ рдореЛрдареЗ рдХрд╛рдлреНрдХрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рддреНрдпрд╛рдВрдЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХрдзреАрд╣реА рдмрдВрдж рдХрд░рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдиреЗрд╣рдореА рдЕрдиреБрдХреНрд░рдорд┐рдХ рд░реАрд╕реНрдЯрд╛рд░реНрдЯрд╕рд╣ рдЕрджреНрдпрддрдирд┐рдд рд╣реЛрддреЗ. рдмреНрд░реЛрдХрд░реНрд╕рдордзреАрд▓ рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдорд╛рдЧреАрд▓ рдЖрд╡реГрддреНрддреАрд╢реА рд╕реБрд╕рдВрдЧрддрддреЗрдЪреА рд╣рдореА рджреЗрдКрди рд╣реЗ рд╕рд╛рдзреНрдп рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рд╕рд░реНрд╡реНрд╣рд░ рдХреНрд▓рд╕реНрдЯрд░рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рджрд▓рд╛рд▓ рдЭреВрдХреАрдкрд░, рдЬреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рднреВрдорд┐рдХрд╛ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. ZooKeeper рд╕реНрд╡рддрдГ рдПрдХ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ рдЬреА рд╕реНрдерд╛рдкрди рдХрд░реВрди рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреАрджреНрд╡рд╛рд░реЗ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдХреЛрд░рдо.

рдмреЗрд╕ рдХреЗрд╕рдордзреНрдпреЗ, рдЦрд╛рд▓реАрд▓ рдЧреБрдгрдзрд░реНрдорд╛рдВрд╕рд╣ рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдПрдХ рд╡рд┐рд╖рдп рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ:

  • рд╡рд┐рднрд╛рдЬрдирд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛. рдЖрдзреА рдЪрд░реНрдЪрд╛ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдпреЗрдереЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдЕрдЪреВрдХ рдореВрд▓реНрдп рд╕рдорд╛рдВрддрд░ рд╡рд╛рдЪрдирд╛рдЪреНрдпрд╛ рдЗрдЪреНрдЫрд┐рдд рд╕реНрддрд░рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ.
  • рдкреНрд░рддрд┐рдХреГрддреА рдШрдЯрдХ (рдШрдЯрдХ) рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдХрд┐рддреА рдмреНрд░реЛрдХрд░ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреНрдпреЗ рдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рд▓реЙрдЧ рдЕрд╕рд╛рд╡реЗрдд рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ.

рд╕рдордиреНрд╡рдпрд╛рд╕рд╛рдареА ZooKeepers рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдмреНрд░реЛрдХрд░реНрд╕рдордзреНрдпреЗ рдирд╡реАрди рд╡рд┐рднрд╛рдЬрдиреЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ. рд╣реЗ рдПрдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЬреЗ рдирд┐рдпрдВрддреНрд░рдХ рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдзрд╛рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдп рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рдирд┐рдпрдВрддреНрд░рдХ рдмреНрд░реЛрдХрд░рд▓рд╛ рднреВрдорд┐рдХрд╛ рдирд┐рдпреБрдХреНрдд рдХрд░рд╛ рдиреЗрддрд╛ (рдиреЗрддрд╛, рдорд╛рд╕реНрдЯрд░, рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛) рдЖрдгрд┐ рдЕрдиреБрдпрд╛рдпреА (рдЕрдиреБрдпрд╛рдпреА, рдЧреБрд▓рд╛рдо, рдЕрдзреАрдирд╕реНрде). рдмреНрд░реЛрдХрд░, рдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рдиреЗрддрд╛ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ, рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛рд▓рд╛ рдкрд╛рдард╡рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреЗ рдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рд╖рдп рд╡рд┐рднрд╛рдЬрдирд╛рд▓рд╛ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рддреЗ рддреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рдЪреЗ рдЕрдиреБрдпрд╛рдпреА рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рдгрд╛рд▒реНрдпрд╛ рд╕рд░реНрд╡ рдмреНрд░реЛрдХрд░ рдиреЛрдбреНрд╕рд╡рд░ рдкреНрд░рддрд┐рд░реВрдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рд▓реЙрдЧ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд▓рд╛ рдореНрд╣рдгрддрд╛рдд рдкреНрд░рддрд┐рдХреГрддреА. рдмреНрд░реЛрдХрд░ рдХрд╛рд╣реА рд╡рд┐рднрд╛рдЬрдирд╛рдВрд╕рд╛рдареА рдиреЗрддрд╛ рдореНрд╣рдгреВрди рдЖрдгрд┐ рдЗрддрд░рд╛рдВрд╕рд╛рдареА рдЕрдиреБрдпрд╛рдпреА рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░реВ рд╢рдХрддреЛ.

рдиреЗрддреНрдпрд╛рдЪреЗ рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рдЕрд╕рд▓реЗрд▓реЗ рдЕрдиреБрдпрд╛рдпреА рдореНрд╣рдгрддрд╛рдд рд╕рдордХреНрд░рдорд┐рдд рдкреНрд░рддрд┐рдХреГрддреА (рдПрдХ рдкреНрд░рддрд┐рдХреГрддреА рдЬреА рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рд╕реНрдерд┐рддреАрдд рдЖрд╣реЗ, рдЗрди-рд╕рд┐рдВрдХ рдкреНрд░рддрд┐рдХреГрддреА). рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рдиреЗрддрд╛ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рдгрд╛рд░рд╛ рджрд▓рд╛рд▓ рдХрдореА рдЭрд╛рд▓реНрдпрд╛рд╕, рддреНрдпрд╛ рд╡рд┐рднрд╛рдЬрдирд╛рд╕рд╛рдареА рдЕрджреНрдпрдпрд╛рд╡рдд рдХрд┐рдВрд╡рд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХреЗрд▓реЗрд▓рд╛ рдХреЛрдгрддрд╛рд╣реА рджрд▓рд╛рд▓ рд▓реАрдбрд░рдЪреА рднреВрдорд┐рдХрд╛ рдШреЗрдК рд╢рдХрддреЛ. рд╣реЗ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХрдкрдгреЗ рдЯрд┐рдХрд╛рдК рдбрд┐рдЭрд╛рдЗрди рдЖрд╣реЗ.

рдЙрддреНрдкрд╛рджрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪрд╛ рднрд╛рдЧ рдкреЕрд░рд╛рдореАрдЯрд░ рдЖрд╣реЗ acks, рдЬреЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдереНрд░реЗрдб рдкрд╛рдард╡рдгреЗ рд╕реБрд░реВ рдареЗрд╡рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдХрд┐рддреА рдкреНрд░рддрд┐рдХреГрддреАрдВрдиреА рд╕рдВрджреЗрд╢рд╛рдЪреА рдкрд╛рд╡рддреА (рдкреЛрдЪ рдкрд╛рд╡рддреА) рджрд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ: 0, 1, рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡. рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рд╕ рд╕рд░реНрд╡, рдирдВрддрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛рд╡рд░, рд╡рд┐рд╖рдп рд╕реЗрдЯрд┐рдВрдЧрджреНрд╡рд╛рд░реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреЗрдХ рд╕рдВрдХреЗрддрд╛рдВрдордзреВрди (рд╕реНрд╡рддрдГрд╕рд╣) рд░реЗрдХреЙрд░реНрдбрдЪреА рдкреБрд╖реНрдЯреА (рдкреЛрдЪрддреА) рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛рдЪ рдиреЗрддрд╛ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рд▓рд╛ рдкреБрд╖реНрдЯреАрдХрд░рдг рдкрд╛рдард╡реЗрд▓. min.insync.replicas (рдбрд┐рдлреЙрд▓реНрдЯ 1). рдЬрд░ рд╕рдВрджреЗрд╢рд╛рдЪреА рдкреНрд░рддрд┐рдХреГрддреА рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрдд рдирд╕реЗрд▓, рддрд░ рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдкрд╡рд╛рдж рдЯрд╛рдХреЗрд▓ (NotEnoughReplicas рдХрд┐рдВрд╡рд╛ NotEnoughReplicasAfterAppend).

рдард░рд╛рд╡рд┐рдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди 3 рдЪреНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреА рдШрдЯрдХрд╛рд╕рд╣ рдПрдХ рд╡рд┐рд╖рдп рддрдпрд╛рд░ рдХрд░рддреЗ (1 рдиреЗрддрд╛, 2 рдЕрдиреБрдпрд╛рдпреА рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрди) рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░ min.insync.replicas 2 рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдХреНрд▓рд╕реНрдЯрд░ рд╡рд┐рд╖рдп рд╡рд┐рднрд╛рдЬрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдмреНрд░реЛрдХрд░рдкреИрдХреА рдПрдХрд╛рд╕ рдХреНрд▓рд╛рдпрдВрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╡рд░ рдкрд░рд┐рдгрд╛рдо рди рдХрд░рддрд╛ рдЦрд╛рд▓реА рдЬрд╛рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдИрд▓.

рд╣реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдЖрдзреАрдЪ рдкрд░рд┐рдЪрд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЯреНрд░реЗрдб-рдСрдлрдХрдбреЗ рдкрд░рдд рдЖрдгрддреЗ. рдЕрдиреБрдпрд╛рдпрд╛рдВрдХрдбреВрди рдкреБрд╖реНрдЯреАрдХрд░рдг (рдкреЛрдЪрддреА) рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рд╡реЗрд│реЗрдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╡рд░ рдкреНрд░рддрд┐рдХреГрддреА рдШрдбрддреЗ. рдЬрд░реА, рддреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рдд рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдХрд┐рдорд╛рди рддреАрди рдиреЛрдбреНрд╕рдЪреА рдкреНрд░рддрд┐рдХреГрддреА рджреЛрди рд╕рд╛рд░рдЦреАрдЪ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ (рдиреЗрдЯрд╡рд░реНрдХ рдмрдБрдбрд╡рд┐рдбреНрде рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рд╡рд╛рдвреАрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░реВрди).

рдпрд╛ рдкреНрд░рддрд┐рдХреГрддреА рдпреЛрдЬрдиреЗрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рдХрд╛рдлреНрдХрд╛ рдЪрддреБрд░рд╛рдИрдиреЗ рдСрдкрд░реЗрд╢рдирд╕рд╣ рдбрд┐рд╕реНрдХрд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рднреМрддрд┐рдХрд░рд┐рддреНрдпрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЯрд╛рд│рддреЛ. рд╕рд┐рдВрдХ(). рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдиреЗ рдкрд╛рдард╡рд▓реЗрд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рд╡рд┐рднрд╛рдЬрди рд▓реЙрдЧрд╡рд░ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рдИрд▓, рдкрд░рдВрддреБ рдзрдбрд╛ 2 рдордзреНрдпреЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд┐рдгреЗ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдмрдлрд░рдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдЬрд░ рд╣рд╛ рд╕рдВрджреЗрд╢ рджреБрд╕рд░реНтАНрдпрд╛ рдХрд╛рдлреНрдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░ рдкреНрд░рддрд┐рд░реВрдкрд┐рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдорд░рдгрд╛рдд рдЕрд╕реЗрд▓, рддрд░ рдиреЗрддреНрдпрд╛рдЪреНрдпрд╛ рдиреБрдХрд╕рд╛рдирд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдирд╛рд╣реА рдХреА рд╕рдВрджреЗрд╢ рд╕реНрд╡рддрдГрдЪ рд╣рд░рд╡рд▓рд╛ рдЖрд╣реЗ - рддреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреАрджреНрд╡рд╛рд░реЗ рддрд╛рдмреНрдпрд╛рдд рдШреЗрддрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
рдСрдкрд░реЗрд╢рди рдХрд░рдгреНрдпрд╛рд╕ рдирдХрд╛рд░ рд╕рд┐рдВрдХ() рдореНрд╣рдгрдЬреЗ рдХрд╛рдлреНрдХрд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рдЬрд┐рддрдХреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рд╕рдВрджреЗрд╢ рд▓рд┐рд╣реВ рд╢рдХрддреЛ рддрд┐рддрдХреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рддреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддреЛ. рдпрд╛рдЙрд▓рдЯ, рдбрд┐рд╕реНрдХрд╡рд░ рдореЗрдорд░реА рдлреНрд▓рд╢ рдХрд░рдгреЗ рддреБрдореНрд╣реА рдЬрд┐рддрдХреЗ рдЬрд╛рд╕реНрдд рд╡реЗрд│ рдЯрд╛рд│реВ рд╢рдХрддрд╛ рддрд┐рддрдХреЗ рдЪрд╛рдВрдЧрд▓реЗ. рдпрд╛ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, рдХрд╛рдлреНрдХрд╛ рдмреНрд░реЛрдХрд░реНрд╕рдирд╛ 64 GB рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рд╣реВрди рдЕрдзрд┐рдХ рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХрд░рдгреЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╛рд╣реА. рдпрд╛ рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдПрдХрдЪ рдХрд╛рдлреНрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░рдкреЗрдХреНрд╖рд╛ рд╣рдЬрд╛рд░реЛ рдкрдЯ рд╡реЗрдЧрд╛рдиреЗ рд╕рд╣рдЬ рдзрд╛рд╡реВ рд╢рдХрддреЗ.

рдСрдкрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдлреНрдХрд╛ рджреЗрдЦреАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рд╕рд┐рдВрдХ() рд╕рдВрджреЗрд╢ рд╕рдВрдХреБрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдХрд╛рдлреНрдХрд╛рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рдкреЕрдХреЗрдЬ-рдХреЗрдВрджреНрд░рд┐рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдмрд░реНтАНрдпрд╛рдЪ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рдЬреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЦреВрдк рдордЬрдмреВрдд рд╣рдореА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдзрди рдЖрд╣реЗ. рдХрд╛рдлреНрдХрд╛рдЪреА рдмрд░реАрдЪрд╢реА рд╢реБрджреНрдз рдХрд╛рдордЧрд┐рд░реА рдмреНрд░реЛрдХрд░рд▓рд╛ рдкреЕрдХреЗрдЯ рдореНрд╣рдгреВрди рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдВрдордзреВрди рдпреЗрддреЗ рдЖрдгрд┐ рд╣реЗ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░рдХрдбреВрди рдЕрдиреБрдХреНрд░рдорд┐рдХ рдмреНрд▓реЙрдХреНрд╕рдордзреНрдпреЗ рд╡рд╛рдЪрд▓реЗ рдЬрд╛рддрд╛рдд. рд╢реВрдиреНрдп рдкреНрд░рдд рдСрдкрд░реЗрд╢рдиреНрд╕ (рдСрдкрд░реЗрд╢рдиреНрд╕ рдЬреНрдпрд╛ рджрд░рдореНрдпрд╛рди рдПрдХрд╛ рдореЗрдорд░реА рдХреНрд╖реЗрддреНрд░рд╛рддреВрди рджреБрд╕рд░реНтАНрдпрд╛ рдореЗрдорд░реА рдХреНрд╖реЗрддреНрд░рд╛рдордзреНрдпреЗ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА). рдирдВрддрд░рдЪреЗ рдореЛрдареЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд▓рд╛рдн рдЖрд╣реЗ рдЖрдгрд┐ рд╡рд┐рднрд╛рдЬрди рдпреЛрдЬрдирд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЙрдЧ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рджреНрд╡рд╛рд░реЗрдЪ рд╢рдХреНрдп рдЖрд╣реЗ.

рдПрдХрд╛рдЪ рдХрд╛рдлреНрдХрд╛ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реА рдХрд╛рдордЧрд┐рд░реА рд╢рдХреНрдп рдЖрд╣реЗ, рдХрд╛рд░рдг рд╡рд┐рд╖рдп рд╡рд┐рднрд╛рдЬрдиреЗ рдЕрдиреЗрдХ рд╕реНрд╡рддрдВрддреНрд░ рдорд╢реАрдирд╡рд░ рдореЛрдЬрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рдкрд░рд┐рдгрд╛рдо

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рдХрд╛рдлреНрдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рдмреНрд░реЛрдХрд░ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдирд╛рддреЗрд╕рдВрдмрдВрдзрд╛рдЪреА рдкреБрдирд░реНрдХрд▓реНрдкрдирд╛ рдХрд╢реА рдХрд░рддреЗ рд╣реЗ рдкрд╛рд╣рд┐рд▓реЗ, рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрдкрдгреЗ рдордЬрдмреВрдд рдореЗрд╕реЗрдЬрд┐рдВрдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░рдЪреНрдпрд╛ рдереНрд░реВрдкреБрдЯрдкреЗрдХреНрд╖рд╛ рдХрд┐рддреАрддрд░реА рдкрдЯреАрдиреЗ рдЬрд╛рд╕реНрдд. рдЖрдореНрд╣реА рд╣реЗ рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреА рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХрдбреЗ рдереЛрдбрдХреНрдпрд╛рдд рдкрд╛рд╣рд┐рд▓реЗ рдЖрд╣реЗ. рдкреБрдвреАрд▓ рдкреНрд░рдХрд░рдгрд╛рдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╕рдВрджреЗрд╢рди-рдЖрдзрд╛рд░рд┐рдд рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдирд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рдкрд╛рд╣реВ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдзреЛрд░рдгрд╛рдВрд╡рд░ рдЪрд░реНрдЪрд╛ рдХрд░реВ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдореЗрд╕реЗрдЬрд┐рдВрдЧ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдмрджреНрджрд▓ рдХрд╕реЗ рдмреЛрд▓рд╛рд╡реЗ рддреЗ рд╕рд╛рдВрдЧреВрди рдЖрдореНрд╣реА рдзрдбрд╛ рд╕рдВрдкрд╡реВ рдЬреЗрдгреЗрдХрд░реБрди рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдпреЛрдЧреНрдпрддреЗрдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реВ рд╢рдХрд╛рд▓.

рдорд╛рдЧреАрд▓ рдЕрдиреБрд╡рд╛рджрд┐рдд рднрд╛рдЧ: рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ. ActiveMQ рдЖрдгрд┐ Kafka рд╕рд╣ рдореЗрд╕реЗрдЬрд┐рдВрдЧрдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рд╢рд┐рдХрдгреЗ. рдзрдбрд╛ рез

рднрд╛рд╖рд╛рдВрддрд░ рдкреВрд░реНрдг рдЭрд╛рд▓реЗ: tele.gg/middle_java

рдкреБрдвреЗ рдЪрд╛рд▓реВтАж

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рдХрд╛рдлреНрдХрд╛ рддреБрдордЪреНрдпрд╛ рд╕рдВрд╕реНрдереЗрдд рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ рдХрд╛?

  • рд╣реЛрдп

  • рдХреЛрдгрддреНрдпрд╛рд╣реА

  • рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд▓реЗ рд╣реЛрддреЗ, рдЖрддрд╛ рдирд╛рд╣реА

  • рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд

38 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 8 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛