RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

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

рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА:

  1. рдПрдХ RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЬреЛ Kubernetes рдореЗрдВ рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдПрдХ рдирдП - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "kubernetized" (рдпрд╛рдиреА K8s рдкреЙрдбреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ) - рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВред
  2. Kubernetes рдХреЗ рднреАрддрд░ RabbitMQ рдХрд╛ рдПрдХ рдирд╛рдорд╕реНрдерд╛рди рд╕реЗ рджреВрд╕рд░реЗ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдирд╛рдорд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдПрдХ рд╕рд░реНрдХрд┐рдЯ рд╕реЗ рджреВрд╕рд░реЗ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

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

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

... рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирдП рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рд╡рд╛рд╕рди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо

рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╣рд▓рд╛, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ RabbitMQ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдореЛрдб рд╕рдХреНрд╖рдо рд╣реИ (HA). рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд╣рдо рдХреЛрдИ рднреА рдбреЗрдЯрд╛ рдЦреЛрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗред рдЗрд╕ рдЬрд╛рдБрдЪ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк RabbitMQ рдПрдбрдорд┐рди рдкреИрдирд▓ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдбрдорд┐рди тЖТ рдиреАрддрд┐рдпрд╛рдБ рдЯреИрдм рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рди рд╕реЗрдЯ рд╣реИ ha-mode: all:

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

рдЕрдЧрд▓рд╛ рдХрджрдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕ рдореЗрдВ рдПрдХ рдирдпрд╛ RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 3 рдиреЛрдбреНрд╕ рд╕реЗ рдорд┐рд▓рдХрд░, рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ)ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдорд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ (6 рдиреЛрдбреНрд╕ рдХрд╛) рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

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

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдмрд╛рдж, рдпрд╣ RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдкреБрд░рд╛рдиреЗ рдиреЛрдбреНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдЗрд╕ рдХрджрдо рдХреЛ рдкреВрд░рд╛ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

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

рдЖрдЗрдП рдЗрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖрдЬрд╝рдорд╛рдПрдБ

рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

рд╡рд┐рд╡рд░рдг рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВ:

  1. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ (рдорд┐рдиреАрдХреНрдпреВрдм рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛);
  2. RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ (рдирдВрдЧреЗ рдзрд╛рддреБ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдХреА рддрд░рд╣ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рдЖрд░рдПрдордХреНрдпреВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ rmq-old.

рд╕реНрдЯреИрдВрдб рдХреА рддреИрдпрд╛рд░реА

1. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

helm fetch --untar stable/rabbitmq-ha

рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, ErlangCookie рдФрд░ рд░рд╛рдЬрдиреАрддрд┐ рдХрд░реЛ ha-allрддрд╛рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрддрд╛рд░реЗрдВ RMQ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛ рдЬрд╛рдПрдВ:

rabbitmqPassword: guest
rabbitmqErlangCookie: mae9joopaol7aiVu3eechei2waiGa2we
definitions:
policies: |-
  {
    "name": "ha-all",
    "pattern": ".*",
    "vhost": "/",
    "definition": {
      "ha-mode": "all",
      "ha-sync-mode": "automatic",
      "ha-sync-batch-size": 81920
    }
  }

2. рдЪрд╛рд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

helm install . --name rmq-old --namespace rmq-old

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

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рддреИрдпрд╛рд░ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде "рдкреБрд░рд╛рдирд╛" RabbitMQ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛

1. рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдирдП RabbitMQ рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВ рдПрдХ рджреЛрд╕реНрдд рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде рд╡рд╣реА ErlangCookie рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб. рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдСрдкрд░реЗрд╢рди рдХрд░реЗрдВрдЧреЗ, RMQ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдмрджрд▓ рджреЗрдВрдЧреЗ:

helm install . --name rmq-new --namespace rmq-new

2. рдЕрдм рдЖрдкрдХреЛ рдирдП рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреБрд░рд╛рдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдорд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдкрд░ рдЬрд╛рдПрдБ рдирдИ RabbitMQ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

export OLD_RMQ=rabbit@rmq-old-rabbitmq-ha-0.rmq-old-rabbitmq-ha-discovery.rmq-old.svc.cluster.local && 
  rabbitmqctl stop_app && 
  rabbitmqctl join_cluster $OLD_RMQ && 
  rabbitmqctl start_app

рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдореЗрдВ OLD_RMQ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдкрддрд╛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ рдкреБрд░рд╛рдирд╛ рдЖрд░рдПрдордХреНрдпреВ рдХреНрд▓рд╕реНрдЯрд░ред

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

3. 6 рдиреЛрдбреНрд╕ рдХрд╛ RMQ рдХреНрд▓рд╕реНрдЯрд░ рддреИрдпрд╛рд░ рд╣реИ:

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

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

рддреЛ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕реНрдерд┐рддрд┐:

RabbitMQ рдХрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрдмрд╛рдз рдкреНрд░рд╡рд╛рд╕рди

рдпрд╣рд╛рдВ +5 рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИрдВ рдЕрдзрд┐рдХ 5 рдиреЛрдбреНрд╕ рдкрд░ (рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬреЛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕реЗ рдЫреЛрдбрд╝рдХрд░)ред Node). рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдлрд▓ рд░рд╣рд╛.

4. рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ RMQ рдкрддреЗ рдХреЛ рдирдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ (рдпрд╣рд╛рдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рд┐рдпрд╛рдПрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ рдФрд░ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВ), рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдк рдкреБрд░рд╛рдиреЗ рдХреЛ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдВрддрд┐рдо рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП (рдЕрд░реНрдерд╛рдд рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЗ рдмрд╛рдж рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛) рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдЬрд╛рдПрдВ рдкреБрд░рд╛рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдПрдВ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

rabbitmqctl stop_app
rabbitmqctl reset

рдХреНрд▓рд╕реНрдЯрд░ рдкреБрд░рд╛рдиреЗ рдиреЛрдбреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ "рднреВрд▓ рдЧрдпрд╛": рдЖрдк рдкреБрд░рд╛рдиреЗ RMQ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЪрд╛рд▓ рдкреВрд░реА рд╣реЛ рдЬрд╛рдПрдЧреАред

рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрд░рдПрдордХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ - рдЪрд▓рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХреА рдЬрд╛рдПрдЧреАред

рдирд┐рд╖реНрдХрд░реНрд╖

рд╡рд░реНрдгрд┐рдд рдпреЛрдЬрдирд╛ рд▓рдЧрднрдЧ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬрдм рд╣рдореЗрдВ RabbitMQ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдпрд╛ рдмрд╕ рдПрдХ рдирдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде RabbitMQ рдХреЛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рдЙрд╕реА рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ - рд╕рдм рдХреБрдЫ рдПрдХ рдШрдбрд╝реА рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред

рдкреБрдирд╢реНрдЪ

рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо MongoDB (рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рд░реНрд╡рд░ рд╕реЗ Kubernetes рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди) рдФрд░ MySQL (рд╣рдо Kubernetes рдХреЗ рдЕрдВрджрд░ рдЗрд╕ DBMS рдХреЛ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреАрдкреАрдПрд╕

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рднреА рдкрдврд╝реЗрдВ:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ