RabbitMQ рдмрдирд╛рдо рдХрд╛рдлреНрдХрд╛: рд╡рд┐рдлрд▓рддрд╛ рдФрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛



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

рдпрд╣рд╛рдВ, рдкреНрд░рддрд┐рдХреГрддрд┐ рдЗрдХрд╛рдИ рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдп рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЦрдВрдб рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рдПрдХ рдиреЗрддрд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╖рдп рдмрдирд╛рддреЗ рд╕рдордп, рд╡рд┐рднрд╛рдЬрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рджрд░ рдЗрдВрдЧрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдорд╛рди 3 рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рддреАрди рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ: рдПрдХ рдиреЗрддрд╛ рдФрд░ рджреЛ рдЕрдиреБрдпрд╛рдпреАред



рдЕрдВрдЬреАрд░ред 1. рдЪрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдХреЛ рддреАрди рджрд▓рд╛рд▓реЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

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



рдзрд╛рд░рд╛ рд╡рд┐рдлрд▓ рд░рд╣реА


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

рдмреНрд░реЛрдХрд░ 3 рдиреЗрдЯрд╡рд░реНрдХ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ - рдФрд░ рдзрд╛рд░рд╛ 2 рдХреЗ рд▓рд┐рдП рдмреНрд░реЛрдХрд░ 2 рдкрд░ рдПрдХ рдирдпрд╛ рдиреЗрддрд╛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 2. рдмреНрд░реЛрдХрд░ 3 рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдмреНрд░реЛрдХрд░ 2 рдкрд░ рдЙрд╕рдХреЗ рдЕрдиреБрдпрд╛рдпреА рдХреЛ рдзрд╛рд░рд╛ 2 рдХреЗ рдирдП рдиреЗрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ

рдлрд┐рд░ рдмреНрд░реЛрдХрд░ 1 рдкрддреНрддрд┐рдпрд╛рдВ рдФрд░ рд╕реЗрдХреНрд╢рди 1 рднреА рдЕрдкрдирд╛ рд▓реАрдбрд░ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рднреВрдорд┐рдХрд╛ рдмреНрд░реЛрдХрд░ 2 рдХреЛ рдЬрд╛рддреА рд╣реИред


рдЕрдВрдЬреАрд░ред 3. рдХреЗрд╡рд▓ рдПрдХ рджрд▓рд╛рд▓ рдмрдЪрд╛ рд╣реИред рд╕рднреА рдиреЗрддрд╛ рдПрдХ рд╣реА рд╢реВрдиреНрдп рдЕрддрд┐рд░реЗрдХ рджрд▓рд╛рд▓ рдкрд░ рд╣реИрдВред

рдЬрдм рдмреНрд░реЛрдХрд░ 1 рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реМрдЯрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЪрд╛рд░ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдХреБрдЫ рдЕрддрд┐рд░реЗрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рднреА рдиреЗрддрд╛ рдЕрднреА рднреА рджрд▓рд╛рд▓ 2 рдкрд░ рдмрдиреЗ рд░рд╣реЗред


рдЕрдВрдЬреАрд░ред 4. рдиреЗрддрд╛ рджрд▓рд╛рд▓ 2 рдкрд░ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ

рдЬрдм рджрд▓рд╛рд▓ 3 рдЙрдЧрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░рддрд┐ рдЕрдиреБрднрд╛рдЧ рддреАрди рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рднреА рдиреЗрддрд╛ рдЕрднреА рднреА рдмреНрд░реЛрдХрд░ 2 рдкрд░ рд╣реИрдВред


рдЕрдВрдЬреАрд░ред 5. рджрд▓рд╛рд▓реЛрдВ 1 рдФрд░ 3 рдХреА рдмрд╣рд╛рд▓реА рдХреЗ рдмрд╛рдж рдиреЗрддрд╛рдУрдВ рдХрд╛ рдЕрд╕рдВрддреБрд▓рд┐рдд рдкреНрд▓реЗрд╕рдореЗрдВрдЯ

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

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

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдлреНрдХрд╛ рджреЛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

  • Auto.leader.rebalance.enable = true рд╡рд┐рдХрд▓реНрдк рдирд┐рдпрдВрддреНрд░рдХ рдиреЛрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдиреЗрддрд╛рдУрдВ рдХреЛ рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕рд╕реЗ рд╕рдорд╛рди рд╡рд┐рддрд░рдг рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • рдХреЛрдИ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрди: рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kafka-preferred-replica-election.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред



рдЕрдВрдЬреАрд░ред 6. рдкреБрди: рд╕рдВрддреБрд▓рди рдХреЗ рдмрд╛рдж рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ

рдпрд╣ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдм рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ (рдЗрди-рд╕рд┐рдВрдХ рд░реЗрдкреНрд▓рд┐рдХрд╛, рдЖрдИрдПрд╕рдЖрд░) рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред

рд╕рдордиреНрд╡рд┐рдд рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ (ISR)


ISR рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ рдЬрд┐рд╕реЗ "рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝" (рдЗрди-рд╕рд┐рдВрдХ) рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдиреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреБрдпрд╛рдпреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЕрдиреБрд╡рд░реНрддреА рдХреА рд╕рдорд╛рдкреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдиреЗрддрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдЯреАрдХ рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрдиреБрдпрд╛рдпреА рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдиреБрдпрд╛рдпреА рдХреЛ ISR рд╕реЗрдЯ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐:

  • рдЕрдВрддрд░рд╛рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдирдореВрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред lag.time.max.ms (рдореГрдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)
  • рдЕрдВрддрд░рд╛рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛ред lag.time.max.ms (рдзреАрдорд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)

рдлрд╝реЙрд▓реЛрдЕрд░реНрд╕ рдЗрдВрдЯрд░рд╡рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдлрд╝рд╛рдЗрдирд▓ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ редfetch.wait.max.ms , рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 500 рдПрдордПрд╕ рд╣реИред

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

  • acks = 0, рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ
  • akes = 1, рдкреБрд╖реНрдЯрд┐рдХрд░рдг рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдиреЗрддрд╛ рдиреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд▓реЙрдЧ рдХреЛ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦрд╛ рд╣реИ
  • acks = рд╕рднреА, ISR рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж рд╕реНрдерд╛рдиреАрдп рд▓реЙрдЧ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИ

рдХрд╛рдлреНрдХрд╛ рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ, рдпрджрд┐ ISR рдиреЗ рд╕рдВрджреЗрд╢ рд╕рд╣реЗрдЬрд╛ рд╣реИ, рддреЛ рд╡рд╣ "рдкреНрд░рддрд┐рдмрджреНрдз" рд╣реИред рдЕрдХреНрд╕ = рд╕рднреА рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рджреЗрд░реА рднреАред рдЖрдЗрдП рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВ рдФрд░ рдХреИрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ 'рдРрдХреНрд╕' рд╡рд┐рдХрд▓реНрдк рдЖрдИрдПрд╕рдЖрд░ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрдХреНрд╕ = 1 рдФрд░ рдЖрдИрдПрд╕рдЖрд░


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

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдирд┐рд░реНрдорд╛рддрд╛ acks = 1 рдкрд░ рд╕реЗрдЯ рд╣реИред рдЕрдиреБрднрд╛рдЧ рд╕рднреА рддреАрди рджрд▓рд╛рд▓реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреНрд░реЛрдХрд░ 3 рдкреАрдЫреЗ рд╣реИ, рдпрд╣ рдЖрда рд╕реЗрдХрдВрдб рдкрд╣рд▓реЗ рдиреЗрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реИ рдФрд░ рдЕрдм 7456 рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдкреАрдЫреЗ рд╣реИред рдмреНрд░реЛрдХрд░ 1 рдХреЗрд╡рд▓ рдПрдХ рд╕реЗрдХрдВрдб рдкреАрдЫреЗ рд╣реИред рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдкреАрдЫреЗ рд╣рдЯрддреЗ рд╣реИрдВ, рдзреАрдореЗ рдпрд╛ рдореГрдд рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд╣реЗрдб рдХрд┐рдП рдмрд┐рдирд╛, рдЬреЛ рдХрд┐ рдиреЗрддрд╛ рдХреЛ рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред


рдЕрдВрдЬреАрд░ред 7. рддреАрди рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде ISR

рдмреНрд░реЛрдХрд░ 2 рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд░реНрдорд╛рддрд╛ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдмреНрд░реЛрдХрд░ 1 рдХреЗ рдиреЗрддреГрддреНрд╡ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж, рд╣рдо 123 рд╕рдВрджреЗрд╢ рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рдмреНрд░реЛрдХрд░ 1 рдкрд░ рдЕрдиреБрдпрд╛рдпреА рдЖрдИрдПрд╕рдЖрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рд╡рд╣ рдЧрд┐рд░ рдЧрдпрд╛ рддреЛ рдиреЗрддрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордиреНрд╡рдп рдирд╣реАрдВ рдХрд┐рдпрд╛ред


рдЕрдВрдЬреАрд░ред 8. рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░, рд╕рдВрджреЗрд╢ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ

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


рдЕрдВрдЬреАрд░ред 9. рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмреНрд░реЗрдХ рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

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


рдЕрдВрдЬреАрд░ред 10. рдмреНрд░реЛрдХрд░ 3 рдкрд░ рдлреЙрд▓реЛрдЕрд░ рдХреЛ ISR рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдмреНрд░реЛрдХрд░ 1 рдЧрд┐рд░рддрд╛ рд╣реИ, рдФрд░ 15286 рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рдиреЗрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рджрд▓рд╛рд▓ 3 рдХреЛ рдЬрд╛рддреА рд╣реИ! рдирд┐рд░реНрдорд╛рддрд╛ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред ISR рдХреЗ рдмрд╛рд╣рд░ рдиреЗрддрд╛ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдирд╛ рдХреЗрд╡рд▓ рд╕реЗрдЯрд┐рдВрдЧ рдЕрд╢реБрджреНрдз рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╡ рдерд╛ред рдпрджрд┐ рдпрд╣ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рд╣реИ, рддреЛ рд╕рдВрдХреНрд░рдордг рдирд╣реАрдВ рд╣реБрдЖ рд╣реЛрдЧрд╛, рдФрд░ рд╕рднреА рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдирдЫреБрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмреНрд░реЛрдХрд░ 1 рдХреА рд╡рд╛рдкрд╕реА рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдлрд┐рд░ рд╕реЗ рдмрдврд╝рдд рд▓реЗрдЧрд╛ред


рдЕрдВрдЬреАрд░ред 11. рдмреНрд░реЛрдХрд░ 1 рдмреВрдБрджред рдпрджрд┐ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрджреЗрд╢ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ

рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдВрддрд┐рдо рдмреНрд░реЛрдХрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЕрдм рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдиреЗрддрд╛ рд╣реИред рд╡рд╣ рджрд▓рд╛рд▓ 3 рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 12. рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд░рд╛рдо рдХреЗ рдмрд╛рдж, рд╕рдВрджреЗрд╢ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрднрд╛рдЧ 0 рдореЗрдВ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ

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

рдЕрдХреНрд╕ = рд╕рднреА рдФрд░ рдЖрдИрдПрд╕рдЖрд░


рдЖрдЗрдП рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рдПрдВ, рд▓реЗрдХрд┐рди acks = рд╕рднреА рдХреЗ рд╕рд╛рде ред рджреЗрд░реА рджрд▓рд╛рд▓ 3 рдЪрд╛рд░ рд╕реЗрдХрдВрдб рдХреА рдПрдХ рдФрд╕рддред рдирд┐рд░реНрдорд╛рддрд╛ acks = рд╕рднреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдЕрдм рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдиреЗрддрд╛ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ ISR рдХреЗ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░ рджреЗрддрд╛ред


рдЕрдВрдЬреАрд░ред 13. рддреАрди рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде ISRред рдПрдХ рдзреАрдореА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЗрдВ рджреЗрд░реА рд╣реЛ рд░рд╣реА рд╣реИ

рдЪрд╛рд░ рд╕реЗрдХрдВрдб рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд▓рдВрдм рдХреЗ рдмрд╛рдж, рдмреНрд░реЛрдХрд░ 2 рдХреЛ рдПрд╕реАрд╕реА рднреЗрдЬрддрд╛ рд╣реИред рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реИрдВред


рдЕрдВрдЬреАрд░ред 14. рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдмрдЪрд╛рддреА рд╣реИрдВ рдФрд░ ack рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдмреНрд░реЛрдХрд░ 3 рдЕрдм рдФрд░ рднреА рдкреАрдЫреЗ рд╣реИ рдФрд░ рдЙрд╕реЗ ISR рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рджреЗрд░реА рдХрд╛рдлреА рдХрдо рд╣реЛ рдЧрдИ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдИрдПрд╕рдЖрд░ рдореЗрдВ рдХреЛрдИ рдзреАрдореА рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдирд╣реАрдВ рдмрдЪреА рд╣реИрдВред рдмреНрд░реЛрдХрд░ 2 рдЕрдм рдХреЗрд╡рд▓ рдмреНрд░реЛрдХрд░ 1 рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдФрд╕рддрди 500 рдПрдордПрд╕ рд╣реИред


рдЕрдВрдЬреАрд░ред 15. рджрд▓рд╛рд▓ 3 рдкрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ ISR рд╕реЗ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ

рддрдм рдмреНрд░реЛрдХрд░ 2 рдЧрд┐рд░рддрд╛ рд╣реИ, рдФрд░ рд▓реАрдбрд░ рдореИрд╕реЗрдЬ рдЦреЛрдП рдмрд┐рдирд╛ рдмреНрд░реЛрдХрд░ 1 рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 16. рдмреНрд░реЛрдХрд░ 2 рдЧрд┐рд░ рд░рд╣рд╛ рд╣реИ

рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рдирдпрд╛ рдиреЗрддрд╛ рдкрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рджреЗрд░реА рдЕрднреА рднреА рдХрдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм ISR рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ! рдЗрд╕рд▓рд┐рдП, acks = рд╕рднреА рд╡рд┐рдХрд▓реНрдк рдЕрддрд┐рд░реЗрдХ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред


рдЕрдВрдЬреАрд░ред 17. рдмреНрд░реЛрдХрд░ 1 рдкрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рд▓реАрдб рд▓реЗрддрд╛ рд╣реИ

рддрдм рдмреНрд░реЛрдХрд░ 1 рдЧрд┐рд░рддрд╛ рд╣реИ, рдФрд░ рд▓реАрдбрд░ рдмреНрд░реЛрдХрд░ 3 рдХреЛ 14,238 рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ!


рдЕрдВрдЬреАрд░ред 18. рдмреНрд░реЛрдХрд░ 1 рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЕрд╢реБрджреНрдз рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдиреЗрддреГрддреНрд╡ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд╡реНрдпрд╛рдкрдХ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╣реЛрддреА рд╣реИ

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

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

рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЕрддрд┐рд░реЗрдХ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдФрд░ рдЕрдиреНрдпрдерд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдирд╛ред рдлрд┐рд░, рдХрдо рд╕реЗ рдХрдо рдмреНрд░реЛрдХрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗрд╡рд▓ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдПрдХ рд╕рд╛рде рд╡рд┐рдлрд▓рддрд╛рдУрдВ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред

рдЕрдХреНрд╕ = рд╕рднреА, min.insync.replicas рдФрд░ ISR


Min.insync.replicas рд╡рд┐рд╖рдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рд╣рдо рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЖрдЦрд┐рд░реА рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ min.insync.replicas = 2 рдХреЗ рд╕рд╛рде ред

рддреЛ, рдмреНрд░реЛрдХрд░ 2 рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдиреЗрддрд╛ рд╣реИ, рдФрд░ рдмреНрд░реЛрдХрд░ 3 рдкрд░ рдЕрдиреБрдпрд╛рдпреА рдХреЛ ISR рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 19. рджреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХрд╛ ISR

рдмреНрд░реЛрдХрд░ 2 рдЧрд┐рд░рддрд╛ рд╣реИ, рдФрд░ рд▓реАрдбрд░ рдореИрд╕реЗрдЬ рдЦреЛрдП рдмрд┐рдирд╛ рдмреНрд░реЛрдХрд░ 1 рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдм ISR рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реИред рдпрд╣ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдмреНрд░реЛрдХрд░ NotEnoughReplicas рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 20. ISR рдХреА рд╕рдВрдЦреНрдпрд╛ min.insync.replicas рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдХрдо рд╣реИ

рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХрд╛ рдмрд▓рд┐рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕рдВрджреЗрд╢ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рджреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдкрд░ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рджреЗрддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рд╕рдВрджреЗрд╢ рдХрд╛ рдиреБрдХрд╕рд╛рди рддрднреА рд╕рдВрднрд╡ рд╣реИ рдЬрдм рджреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдПрдХ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреЗ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдВ, рдЬрдм рддрдХ рдХрд┐ рд╕рдВрджреЗрд╢ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдпрд╛рдпреА рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рди рдЬрд╛рдП, рдЬреЛ рдХрд┐ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдПрдХ рд╕реБрдкрд░рдкрд░рд╛рдиреЙрдпрдб рд╣реИрдВ, рддреЛ рдЖрдк рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдиреБрдкрд╛рдд рдХреЛ 5 рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ min.insync.replicas рдХреЛ 3. рдлрд┐рд░ рд░рд┐рдХреЙрд░реНрдб рдЦреЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рддреАрди рджрд▓рд╛рд▓реЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЧрд┐рд░рдирд╛ рд╣реЛрдЧрд╛! рдмреЗрд╢рдХ, рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рджреЗрд░реА рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░реЗрдВрдЧреЗред

рдЬрдм рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ


RabbitMQ рдХреА рддрд░рд╣ , рдХрднреА-рдХрднреА рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдБрдЪ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

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

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

ISR рдХрд╛ рдЕрд░реНрде


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

рд╣рдо рд╕реНрд╡рдпрдВ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдорд╛рди рдЪреБрдиреЗрдВред lag.time.max.ms рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдПрдХреНрд╕ = рд╕рднреА рдХреЗ рд╕рд╛рде рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рджрд╕ рд╕реЗрдХрдВрдб рд╣реИред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрдм рдЖрдИрдПрд╕рдЖрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡реГрддреНрддрд┐ рдмрдврд╝ рдЬрд╛рдПрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред

RabbitMQ рдХреЗрд╡рд▓ рджрд░реНрдкрдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬрд┐рд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реНрд▓реЛ рдорд┐рд░рд░реНрд╕ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рджреЗрд░реА рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб (рдиреЗрдЯ рдЯрд┐рдХ) рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯреЛрдВ рдХреА рд╕рдорд╛рдкреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдореГрдд рджрд░реНрдкрдгреЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдмрдврд╝реЗ рд╣реБрдП рд╡рд┐рд▓рдВрдм рдХреЗ рд╕рд╛рде ISR рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЕрддрд┐рд░реЗрдХ рдЦреЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ ISR рдХреЗрд╡рд▓ рдПрдХ рдиреЗрддрд╛ рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдЬреЛрдЦрд┐рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, min.insync.replicas рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЧреНрд░рд╛рд╣рдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреА рдЧрд╛рд░рдВрдЯреА


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

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

рдХрд╛рдлреНрдХрд╛ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛


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

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

Zookeeper рд╕реНрдЯреЛрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐:

  • рд╡рд┐рд╖рдпреЛрдВ рдХреА рд╕реВрдЪреА, рд╡рд░реНрдЧреЛрдВ, рд╡рд┐рдиреНрдпрд╛рд╕, рд╡рд░реНрддрдорд╛рди рдиреЗрддрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ, рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВред
  • рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпред рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░реЛрдХрд░ рдПрдХ рдЬрд╝реБрдХреАрдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡рд╣ рджрд┐рдП рдЧрдП рд╕рдордп рдХреЗ рд▓рд┐рдП рдкрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЬрд╝реВрдХреАрдкрд░ рдмреНрд░реЛрдХрд░ рдХреЛ рджреБрд░реНрдЧрдо рд▓рд┐рдЦрддрд╛ рд╣реИред
  • рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХ рдФрд░ рдорд╛рдзреНрдпрдорд┐рдХ рдиреЛрдбреНрд╕ рдХрд╛ рд╡рд┐рдХрд▓реНрдкред

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

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

рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ:

  • ISR рдФрд░ рдиреЗрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реБрдХреАрдкрд░ рдореЗрдВ рдЕрджреНрдпрддрди рдЬрд╛рдирдХрд╛рд░реА;
  • рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░реЛрдХрд░ рдХреЛ рдПрдХ рд▓реАрдбрд░рдПрдВрдбрдЖрдИрдПрд╕рдЖрд░-рдХреЛрдорд╛рдВрдб рдХрдорд╛рдВрдб рднреЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдЦрдВрдб рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рджрд▓рд╛рд▓реЛрдВ рдХреЛ рдЖрдИрдПрд╕рдЖрд░ рдФрд░ рдиреЗрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред

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

рдкреНрд░рддреНрдпреЗрдХ рдиреЗрддрд╛ ISRs рдХреА рднрд░реНрддреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдкреНрд░рддрд┐рдХреГрддрд┐ ред Lag.time.max.ms рд╕реЗрдЯрд┐рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреМрди рд╡рд╣рд╛рдВ рдЬрд╛рдПрдЧрд╛ред рдЬрдм ISR рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдиреЗрддрд╛ Zookeeper рдХреЛ рдирдИ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред

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


рдЕрдВрдЬреАрд░ред 21. рдХрд╛рдлреНрдХрд╛ рдХреА рд╕рд╣рдорддрд┐

рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓


рдкреНрд░рддрд┐рдХреГрддрд┐ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдордЭрдирд╛ рдЖрдкрдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдирдореВрдирд╛ рдЕрдиреБрд░реЛрдз, рд▓реЙрдЧ рдСрдлрд╝ рдСрдлрд╝рд╕реЗрдЯ (LEO) рдФрд░ рд╣рд╛рдИрд╡рд╛рдЪ рдорд╛рд░реНрдХ (HW)


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

рдиреЗрддрд╛ рдФрд░ рд╕рднреА рдЕрдиреБрдпрд╛рдпреА рд▓реЙрдЧ рдПрдВрдб рдСрдлрд╝рд╕реЗрдЯ (LEO) рдФрд░ рд╣рд╛рдИрд╡рд╛рдЯрд░ (HW) рд▓реЗрдмрд▓ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВред LEO рдЪрд┐рд╣реНрди рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдЕрдВрддрд┐рдо рд╕рдВрджреЗрд╢ рдХреА рдСрдлрд╕реЗрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ HW рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рдСрдлрд╕реЗрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╢ рдХреЛ рд╕рднреА ISR рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ LEO рдЖрдорддреМрд░ рдкрд░ HW рд╕реЗ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рд╣реИред

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

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

рдиреЗрддрд╛ рдХреА рд╡рд┐рдлрд▓рддрд╛


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

  1. рдкреНрд░рд╕рд┐рджреНрдз рдПрдЪрдЬреА рдХреЛ рд╕реНрдерд╛рдиреАрдп рд▓реЙрдЧ рдЯреНрд░рдВрдХрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдирд┐рд╢рд╛рди рдХреЗ рдмрд╛рдж рдирдП рдиреЗрддрд╛ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред
  2. , HW , . , .

:

  • , ISR, Zookeeper, . ISR, ┬л┬╗, . , . Kafka , . , , HW . , acks=all .
  • . , . , , , , , .

c


, : HW ( ). , RabbitMQ . . , ┬л ┬╗. . .

Kafka тАФ , , RabbitMQ, . . Kafka тАФ , . . Kafka HW ( ) , . , , , LEO.

ISR . , , , ISR. .


Kafka , RabbitMQ, , . Kafka , .

:

  • 1. , Zookeeper.
  • 2. , Zookeeper.
  • 3. , Zookeeper.
  • 4. , Zookeeper.
  • 5. Kafka, Zookeeper.
  • 6. Kafka, Zookeeper.
  • 7. Kafka Kafka.
  • 8. Kafka Zookeeper.

.

1. , Zookeeper



. 22. 1. ISR

3 1 2, Zookeeper. 3 . replica.lag.time.max.ms ISR . , ISR, . Zookeeper , .


. 23. 1. ISR, replica.lag.time.max.ms

(split-brain) , RabbitMQ. .

2. , Zookeeper



. 24. 2.

, Zookeeper. , ISR , , . , . , . Zookeeper , .


. 25. 2. ISR

3. , Zookeeper


Zookeeper, . ISR. Zookeeper , , .


. 26. 3.

4. , Zookeeper



. 27. 4.

Zookeeper, .


. 28. 4. Zookeeper

Zookeeper . . , acks=1 . , ISR . Zookeeper, , .

acks=all , ISR , . ISR, - .

. , , , HW, , . . , . , , .


. 29. 4. 1

5. Kafka, Zookeeper


Kafka, Zookeeper. ISR, , .


. 30. 5. ISR

6. Kafka, Zookeeper



. 31. 6.

, Zookeeper. acks=1 .


. 32. 6. Kafka Zookeeper

replica.lag.time.max.ms , ISR , , Zookeeper, .

, Zookeeper , .


. 33. 6.

, . 60 . .


. 34. 6.

, . , Zookeeper , . HW .


. 35. 6.

, acks=1 min.insync.replicas 1. , , , , тАФ , . , acks=1 .

, , ISR . - . , , acks=all , ISR . . тАФ min.insync.replicas = 2 .

7. Kafka Kafka


, Kafka . , 6. .

8. Kafka Zookeeper


Zookeeper Kafka. , Zookeeper, . , , , Kafka.


, , , . , , , .

- Zookeeper, acks=1 . Zookeeper . acks=all .

min.insync.replicas , , 6.


, Kafka:

  • , acks=1
  • (unclean) , ISR, acks=all
  • Zookeeper, acks=1
  • , ISR . , acks=all . , min.insync.replicas=1 .
  • . , . .

, , . тАФ acks=all min.insync.replicas 1.

RabbitMQ Kafka


. RabbitMQ . , . RabbitMQ. , . . , ( ) .

Kafka . . . , . , , . , - , . , .

RabbitMQ Kafka . , RabbitMQ . :

  • fsync рд╣рд░ рдХреБрдЫ рд╕реМ рдорд┐рд▓реАрд╕реЗрдХрдВрдб
  • рджрд░реНрдкрдг рдХрд╛ рдкрддрд╛ рдЬреАрд╡рди рднрд░ рдХреЗ рдмрд╛рдж рд╣реА рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб (рдиреЗрдЯ рдЯрд┐рдХ) рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рджрд░реНрдкрдг рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рджреЗрд░реА рд╣реЛрддреА рд╣реИред

рдХрд╛рдлрд╝реНрдХрд╛ рдЗрд╕ рддрдереНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХрдИ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рддреЛ рдЖрдк рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╣реЛрддреЗ рд╣реА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдПрдХ рд╕рд╛рде рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ akes = all , min.insync.replies = 2 ) рдЦреЛрдиреЗ рдХрд╛ рдЦрддрд░рд╛ рд╣реИред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдХрд╛рдлреНрдХрд╛ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 11 рд╣реЛ рд╕рдХрддреА рд╣реИред 5 рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░рдХ рдФрд░ min.insync.replicas = 3 рдХреА рдПрдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рд╕рдВрджреЗрд╢ рд╣рд╛рдирд┐ рдХреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рджреБрд░реНрд▓рдн рдШрдЯрдирд╛ рдмрдирд╛ рджреЗрдЧреАред рдпрджрд┐ рдЖрдкрдХрд╛ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдРрд╕реА рдкреНрд░рддрд┐рдХреГрддрд┐ рджрд░ рдФрд░ рдЕрддрд┐рд░реЗрдХ рдХрд╛ рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

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

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

рдЕрдВрдд рдореЗрдВ, RabbitMQ рдФрд░ Kafka рджреЛрдиреЛрдВ рдХреЗ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рддрдВрддреНрд░ рдореЗрдВ рдХрдИ рдмрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рд╕рдордп рдХреЗ рд╕рд╛рде, рд╕рд┐рд╕реНрдЯрдо рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ рд╕реНрдерд┐рд░ рд╣реЛ рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рднреА рд╕рдВрджреЗрд╢ рдХрднреА рднреА рдиреБрдХрд╕рд╛рди рд╕реЗ 100% рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ!

рдЕрдЧрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдпрд╛рдж рдХрд┐рдпрд╛, рддреЛ рдЧрд▓рддреА рд╣реБрдИ рдпрд╛ рдЖрдк рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИрдВ, рдмреЗрдЭрд┐рдЭрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВ рдпрд╛ рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред

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

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

рдореИрдВ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬрд┐рдирдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдСрд░реНрдбрд░ рдХреА рдХрдореА рд╣реИ, рдлрд┐рд░ RabbitMQ рдФрд░ рдХрд╛рдлреНрдХрд╛ рдХреЛ рджреЗрдЦреЗрдВ - рдФрд░ рдореИрдВ рдЗрди рджреЛрдиреЛрдВ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдореВрд▓реНрдп рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред

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


All Articles