
рд╣рдордиреЗ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд▓реЗрдЦ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рддреИрдпрд╛рд░ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ Apache Kafka рдФрд░ RabbitMQ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рддреБрд▓рдирд╛ рдХреА рдЧрдИ рд╣реИред рдпрд╣ рдкреНрд░рдХрд╛рд╢рди рд╢рдмреНрджрд╛рд░реНрде рдФрд░ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдХрд╛рдлреНрдХрд╛ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг реж.резреж рддрдХ рдФрд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрд╛рд░ реж.резрез рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред рдлрд┐рд░ рднреА, рд▓реЗрдЦ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЙрдкрдпреЛрдЧреА рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рднрд░рд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ:
рдкрд╣рд▓рд╛ ,
рджреВрд╕рд░рд╛ ред
RabbitMQ рдФрд░ Kafka рджреЛрдиреЛрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо "рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рди-рдЯрд╛рдЗрдо рдбрд┐рд▓реАрд╡рд░реА" рдФрд░ "рдХрдо рд╕реЗ рдХрдо рдПрдХ-рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рд╡рд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "рдХрдбрд╝рд╛рдИ рд╕реЗ рдПрдХ-рдмрд╛рд░ рд╡рд┐рддрд░рдг" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде, рдХрд╛рдлреНрдХрд╛ рдХреА рд╡рд╛рд░рдВрдЯреА рдмрд╣реБрдд рд╕реАрдорд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдЗрди рдЧрд╛рд░рдВрдЯрд┐рдпреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ:
- рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ-рдПрдХ рдмрд╛рд░ рд╡рд┐рддрд░рдгред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдВрджреЗрд╢ рдЦреЛ рд╕рдХрддрд╛ рд╣реИред
- рдХрдо рд╕реЗ рдХрдо-рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реАред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХрднреА рдЦреЛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрджреЗрд╢ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА-рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реАред рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкрд╡рд┐рддреНрд░ рдХрдмреНрд░ред рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рдмрд╛рд░ рд╕рдЦреНрддреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╢рдмреНрдж "рдбрд┐рд▓реАрд╡рд░реА" рдпрд╣рд╛рдБ рдПрдХ рд╕рдЯреАрдХ рд╢рдмреНрдж рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЗрд╕реЗ "рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг" рдХрд╣рдирд╛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдм рд╣рдореЗрдВ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрднреЛрдХреНрддрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐рд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рд╣реЛрддрд╛ рд╣реИ: "рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ", "рдХрдо рд╕реЗ рдХрдо рдПрдХ" рдпрд╛ "рд╕рдЦреНрддреА рд╕реЗ рдПрдХ рдмрд╛рд░"ред рд▓реЗрдХрд┐рди рд╢рдмреНрдж "рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг" рдзрд╛рд░рдгрд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рдХрдбрд╝рд╛рдИ рд╕реЗ рдПрдХ рдмрд╛рд░ 'рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛" рд╡рд┐рддрд░рдг "рдПрдХ рд╕рдЯреАрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдмрд╛рд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдХреЛ рджреЛ рдмрд╛рд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдХреЛ рдирдП рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреВрд╕рд░рд╛ рд╡рд╛рд▓рд╛ред рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЖрдВрд╢рд┐рдХ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░рджрд░реНрдж рд╣реИред рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрдИ рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рд╕рддреНрд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдмреАрдЪ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрд╡рдпрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдВрд╢рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдлрд▓рддрд╛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рд╣реА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдП рдСрдкрд░реЗрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЗрди-рджреЗрди рд╡рд╛рд▓реЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо "рд╕рднреА рдпрд╛ рдХреБрдЫ рдирд╣реАрдВ" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдЖрд╡реЗрджрди рддрд░реНрдХ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░, рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд▓реЗрдирджреЗрди рдЕрд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рд╣рдо рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдХреИрд╢ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╣рдо "рдХреЗрд╡рд▓-рдПрдХ рдмрд╛рд░" рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдЬрд╡рд╛рдм рд╣реИ рдирд╣реАрдВред
"рд╕рдЦреНрддреА рд╕реЗ рдПрдХ рдмрд╛рд░" рд░рдгрдиреАрддрд┐ рдПрдХ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕рдВрджреЗрд╢ рдордВрдЪ рд╣реА рд╣реИ, рдФрд░ рдпрд╣ рдордВрдЪ рд╣реА рдкреВрд░реНрдг рд▓реЗрдирджреЗрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реАрдорд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдЖрдк рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрдХреЗрдд рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ "рд╕рднреА рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд┐рдП рдЧрдП рд▓реЗрдирджреЗрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреНрдХрд╛ рд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣рдореЗрд╢рд╛ рд╣реА рдмреЗрд░реЛрдЬрдЧрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд▓реЗрдирджреЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рд╕рдЦреНрддреА рд╕реЗ рдПрдХ рдмрд╛рд░" рд░рдгрдиреАрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдВрддрд┐рдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдХрд╛рд░ рд╣реИ, рддреЛ рдЖрдк рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдВрдб-рдЯреВ-рдПрдВрдб рдЕрд▓рд░реНрдЯрдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд┐рдП рдЧрдП рд╕рднреА рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд┐рд╕реА рднреА рдЙрдкрдХрд░рдг рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рд╣реИ, рдПрдВрдб-рдЯреВ-рдПрдВрдб рдХрдиреНрдлрд░реНрдореЗрд╢рди рд╣реИред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЛ RabbitMQ рдореЗрдВ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдВрдд-рдЯреВ-рдПрдВрдб рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдХрд╛рдлреНрдХрд╛ рдкрд░, рдЗрд╕реА рддрд░рд╣, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдореВрд╣ рдПрдХ рд╡рд┐рд╖рдп рд╕реЗ рдПрдХ рд╕рд╛рде рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдПрдВрдб-рдЯреВ-рдПрдВрдб рдЕрд▓рд░реНрдЯ рд╡реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рд╕рдВрджреЗрд╢ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдирдП рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдкреВрдЫрддреЗ рд╣реИрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рддреБрд░рдВрдд рдпрд╣ рд╕рдордЭрд╛рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреА рдЪреЗрдирджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реЗ, рд╕рдВрджреЗрд╢ рд╕реНрд░реЛрдд рдпрд╣ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рдХрд┐ рдЙрдирдХреЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдП рдЧрдП рд╣реИрдВред рд╡реЗ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЙрдирдХреЗ рд╕рдВрджреЗрд╢ рдорд┐рд▓реЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рднрдВрдбрд╛рд░рдг рдФрд░ рд╡рд┐рддрд░рдг рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд▓реА рд╣реИред рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ, рдЬреЛ рд╕реНрд░реЛрдд рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рд╕рдВрджреЗрд╢ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреА рд╣реИ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рд╕рднреА рдХреЛ рдЕрдкрдиреЗ рдХрд░реНрддрд╡реНрдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдЧрд▓реЗ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрджреЗрд╢ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рд╣рддреЗ рд╣реБрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдпрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХ рд╕рдХреЗрдВред
рд╕рдВрджреЗрд╢ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдпрд╣ рдЖрд▓реЗрдЦ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо "рдХрдо рд╕реЗ рдХрдо рдПрдХ" рдФрд░ "рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ" рднреЗрдЬрдиреЗ рдХреА рд░рдгрдиреАрддрд┐ рдХреИрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдПрдХ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдСрд░реНрдбрд░ рд╣реИред рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдЙрд╕ рдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рд╡реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдЖрдкрдХреЛ рдЗрди рднрд╛рдЧреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, RabbitMQ рдФрд░ Kafka рджреЛрдиреЛрдВ рд╣реА рдкрд╣рд▓реА рдмрд╛рд░ рдкрд╣рд▓реА (FIFO) рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред RabbitMQ рдЗрд╕ рдЖрджреЗрд╢ рдХреЛ рдХрддрд╛рд░ рд╕реНрддрд░ рдкрд░, рдФрд░ рдХрд╛рдлреНрдХрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрди рд╕реНрддрд░ рдкрд░ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереАред
RabbitMQ рдореЗрдВ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреАрд╡рд┐рддрд░рдг рдХреА рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВ:
- рд╕рдВрджреЗрд╢ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ - рд╡реЗ RabbitMQ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╕рдордп рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ;
- рд╕рдВрджреЗрд╢ рд╕реВрдЪрдирд╛рдПрдБ - RabbitMQ рдкреНрд░реЗрд╖рдХреЛрдВ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рддрддреНрд╡
рдХрддрд╛рд░ рджрд░реНрдкрдгрдХрдИ рдиреЛрдбреНрд╕ (рд╕рд░реНрд╡рд░) рдкрд░ рдХрддрд╛рд░реЗрдВ рдорд┐рд░рд░ (рдкреНрд░рддрд┐рдХреГрддрд┐) рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХрддрд╛рд░ рдореЗрдВ рдПрдХ рдиреЛрдб рдкрд░ рдПрдХ рдЕрдЧреНрд░рдгреА рдХрддрд╛рд░ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреАрди рдиреЛрдбреНрд╕, 10 рдХрддрд╛рд░реЗрдВ рдФрд░ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рджреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╣реИрдВред 10 рдирд┐рдпрдВрддреНрд░рдг рдХрддрд╛рд░реЛрдВ рдФрд░ 20 рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЛ рддреАрди рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдиреЛрдбреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рдХрддрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреЛрдб рдлреНрд░реАрдЬ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ:
- рддреНрд░рд┐рд╢рдВрдХреБ рдиреЛрдб рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧреНрд░рдгреА рдХрддрд╛рд░ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕ рдиреЛрдб рдХреА рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рджреВрд╕рд░реЗ рдиреЛрдб рдкрд░ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ;
- рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдиреЛрдб рдкрд░ рдЦреЛрдП рд╣реБрдП рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдкрд░ рдирдП рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░рдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рд▓реЗрдЦ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХрддрд╛рд░RabbitMQ рдкрд░ рджреЛ рддрд░рд╣ рдХреА рдХрддрд╛рд░реЗрдВ рд╣реИрдВ: рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдпред рднрд░реЛрд╕реЗрдордВрдж рдХрддрд╛рд░реЛрдВ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдиреЛрдб рд░рд┐рдмреВрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдиреЛрдб рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛрддреЗ рд╣реИрдВред
рд▓рдЧрд╛рддрд╛рд░ рдкреЛрд╕реНрдЯрдпрджрд┐ рдХрддрд╛рд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЛрдб рдХреЗ рд░рд┐рдмреВрдЯ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХреЗ рд╕рдВрджреЗрд╢ рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдкреНрд░реЗрд╖рдХ рджреНрд╡рд╛рд░рд╛ рд▓рдЧрд╛рддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
RabbitMQ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрджреЗрд╢, рдЙрддрдирд╛ рдХрдо рд╕рдВрднрд╡ рдкреНрд░рджрд░реНрд╢рдиред рдЕрдЧрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рдзрд╛рд░рд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдпрд╛ рдзрд╛рд░рд╛ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдЦреЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрддрд╛рд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдФрд░ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрд╕реНрдерд┐рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЛрдб рдХреА рдЦрд░рд╛рдмреА рдХреЗ рдХрд╛рд░рдг рд╕рдВрджреЗрд╢ рдЦреЛрдирд╛ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рд╕реНрдерд┐рд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХрддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рд╕рдВрджреЗрд╢ рд╕реВрдЪрдирд╛рдПрдВ
рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛рд╕рдВрджреЗрд╢ рд╕рдВрдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рдЦреЛ рдпрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░реЗрд╖рдХ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
"рд╢реЙрдЯ рдФрд░ рднреВрд▓ рдЧрдП"рд╕реНрд░реЛрдд рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдкреНрд░реЗрд╖рдХ рдХреЛ рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕реВрдЪрдирд╛) рдФрд░ рдмрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднреЗрдЬреЗрдВред рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЦреЛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ "рдПрдХ рдмрд╛рд░ рдХреА рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд░реВрдк рдореЗрдВ" рд░рдгрдиреАрддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ)ред
рдкреНрд░реЗрд╖рдХ рдХреЛ рдкреБрд╖реНрдЯрд┐рдЬрдм рдкреНрд░реЗрд╖рдХ рдХрддрд╛рд░ рдмреНрд░реЛрдХрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреИрдирд▓ рдЦреЛрд▓рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдкреБрд╖реНрдЯрд┐ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдм, рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рдХрддрд╛рд░ рдХреЗ рджрд▓рд╛рд▓ рдХреЛ рджреЛ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- basic.ackред рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреБрд╖реНрдЯрд┐ред рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдЕрдм RabbitMQ рдХреЗ рдкрд╛рд╕ рд╣реИ;
- basic.nackред рдирдХрд╛рд░рд╛рддреНрдордХ рдкреБрд╖реНрдЯрд┐ред рдХреБрдЫ рд╣реБрдЖ рдФрд░ рд╕рдВрджреЗрд╢ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реБрдЖред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕реНрд░реЛрдд рдкрд░ рдмрдиреА рд╣реБрдИ рд╣реИред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рд╡рд╣ рджреВрд╕рд░реА рдмрд╛рд░ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред
рд╕рдХрд╛рд░рд╛рддреНрдордХ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд╡рд┐рддрд░рдг рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ basic.return рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдкреНрд░реЗрд╖рдХ рдХреЛ рди рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ RabbitMQ рдореЗрдВ рдЖрдпрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрддрд╛рд░реЛрдВ рдореЗрдВ рдЧрд┐рд░рд╛ рдерд╛ред рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рд╡рд┐рд╖рдп рд╡рд┐рдирд┐рдордп рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдХрд┐рд╕реА рднреА рд╡рд┐рддрд░рдг рдХрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рджрд▓рд╛рд▓ рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рджреВрд╕рд░реЛрдВ рдореЗрдВ, рд╕реНрд░реЛрдд рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╕рдВрджреЗрд╢ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП "рдЕрдирд┐рд╡рд╛рд░реНрдп" рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХрд┐рд╕реА рднреА рд╡рд┐рддрд░рдг рдХрддрд╛рд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореВрд▓ред рдкреНрд░реЗрд╖рдХ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж рд╕реНрд░реЛрдд рдкреБрд╖реНрдЯрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЙрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдмрд╣реБрдд рдХрдореА рдЖрдПрдЧреАред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реНрд░реЛрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реНрдерд┐рд░ рдзрд╛рд░рд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдирдЬрд╛рдиреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдПрдХ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдЕрдВрддрд░рд┐рдо рд╕рдВрджреЗрд╢ рдХреА рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рднреА рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рднреЗрдЬрдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдм рдЬрдм рдХрдИ рд╕рдВрджреЗрд╢ рд╣реИрдВ рдЬреЛ рдкреНрд░реЗрд╖рдХ рд╕реЗ рдЦрд░рдЧреЛрд╢рдмрд┐рдЯ рдХреЗ рдкрд╛рд╕ рд╣реИрдВ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИред рдЪреИрдирд▓ рдкрд░ рднреЗрдЬреЗ рдЧрдП рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рдЕрдЦрдВрдб рд░реВрдк рд╕реЗ рдмрдврд╝рддреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди, "рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛" рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рдХрд╛ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдорд╛рди рдХрдИ = рд╕рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд╖рдХ рдХреЛ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреМрди рд╕реЗ рд╕рдВрджреЗрд╢ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдФрд░ рдХреМрди рд╕реЗ рдирд╣реАрдВред рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд▓реЗрдЦ рд▓рд┐рдЦрд╛ред
рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрджреЗрд╢ рд╣рд╛рдирд┐ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ:
- рдирдХрд╛рд░рд╛рддреНрдордХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛;
- рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реВрдЪрдирд╛ рдпрд╛ рдореВрд▓ .return рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рднрдВрдбрд╛рд░рдг рдЬрд╛рд░реА рд░рдЦрд╛ред
рд▓реЗрди-рджреЗрдиредрдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд▓реЗрдирджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдпрдж рд╣реА рдХрднреА RabbitMQ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдХрдордЬреЛрд░ рд╡рд╛рд░рдВрдЯред рдпрджрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХрдИ рдХрддрд╛рд░реЛрдВ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрдЗрдХрди рд╣реИ, рддреЛ рд▓реЗрдирджреЗрди рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
- рдХрдо рдЙрддреНрдкрд╛рджрдХрддрд╛ред
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВрдиреЗ рдХрднреА рднреА рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд╡реЗ рдкреНрд░реЗрд╖рдХ рдХреЛ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рд▓реЗрдирджреЗрди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕ рд╕рд╡рд╛рд▓ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред
рд╕рдВрдЪрд╛рд░ / рдЪреИрдирд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВрд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЗрд╖рдХ рдХреЛ рд╕рдВрдЪрд╛рд░ рдЙрдкрдХрд░рдг рдФрд░ рджрд▓рд╛рд▓реЛрдВ рдХреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреЗ рджреЛрдиреЛрдВ рдХрд╛рд░рдХ рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЪреИрдирд▓реЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде, рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рднреА рдирд╣реАрдВ-рдЕрднреА рддрдХ рдкреНрд░рд╛рдкреНрдд рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рдкреНрд░реЗрд╖рдХ рдХреЛ рд╕рдВрджреЗрд╢ рдХреЗ рдиреБрдХрд╕рд╛рди рдФрд░ рдирдХрд▓ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдмреНрд░реЛрдХрд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рддрдм рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рд╕рдВрджреЗрд╢ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдмрдлрд░ рдпрд╛ рдкреВрд░реНрд╡-рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рд╕рдВрджреЗрд╢ рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╛, рд╢рд╛рдпрдж рд╕рдВрджреЗрд╢ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдерд╛, рд▓реЗрдХрд┐рди рдкреБрд╖реНрдЯрд┐ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЧрдИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрджреЗрд╢ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕реА рддрд░рд╣, рд╕рдВрдЪрд╛рд░ рдХреЗ рд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд┐рдлрд▓рддрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред рдХреНрдпрд╛ рд╕рдВрджреЗрд╢ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдлрд▓рддрд╛ рд╣реБрдИ? рдпрд╛ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рдж рдкрдВрдХреНрддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ?
рдкреНрд░реЗрд╖рдХ рдЗрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛:
- рд╕рдВрджреЗрд╢ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рди рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдиреБрдХрд╕рд╛рди рдХрд╛ рдЬреЛрдЦрд┐рдо рдкреИрджрд╛ рдХрд░рдирд╛;
- рд╕рдВрджреЗрд╢ рдлрд┐рд░ рд╕реЗ рднреЗрдЬреЗрдВ рдФрд░ рджреЛрд╣рд░рд╛рд╡ рдХрд╛ рдЦрддрд░рд╛ рдкреИрджрд╛ рдХрд░реЗрдВред
рдпрджрд┐ рдХрдИ рдкреНрд░реЗрд╖рдХ рд╕рдВрджреЗрд╢ рдкрд╛рд░рдЧрдорди рдореЗрдВ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдкреНрд░реЗрд╖рдХ рдХреЗрд╡рд▓ рдпрд╣реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рджреВрд╕рд░реА рдмрд╛рд░ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдРрд╕реЗ рд╣реЗрдбрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╡реЗ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдЪреЗрдХ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ
рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- рдХреЛрдИ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЛрдб рдирд╣реАрдВ;
- рдореИрдиреБрдЕрд▓ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЛрдбред
рдХреЛрдИ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЛрдб рдирд╣реАрдВрд╡рд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдЦрддрд░рдирд╛рдХ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдХреЛрдИ рд╕рдВрджреЗрд╢ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХрддрд╛рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╕рдВрджреЗрд╢ рд╣рд╛рдирд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐:
- рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдиреЗрдХреНрд╢рди рдмрд╛рдзрд┐рдд рд╣реЛ рдЧрдпрд╛ рдерд╛;
- рд╕рдВрджреЗрд╢ рдЕрднреА рднреА рдЖрдВрддрд░рд┐рдХ рдмрдлрд╝рд░ рдореЗрдВ рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдХреНрд╖рдо рдерд╛;
- рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдХрдкреЗрдЪрд░ рддрдВрддреНрд░ рдЦреЛ рд░рд╣реЗ рд╣реИрдВред рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдб рд╕реЗрдЯ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рд╕рдордп рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реАрдлрд╝реИрдЪ (рдпрд╛ рдкреНрд░рджрддреНрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕реНрддрд░, рдХреНрдпреВрдУрдПрд╕ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдЕрднреА рддрдХ рд░рд╕реАрдж рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рд╣реИред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, RabbitMQ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рддреЗрдЬреА рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд░рд┐рд╕реАрд╡рд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдмрдлрд╝рд░ рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред
рдореИрдиреБрдЕрд▓ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЛрдбрдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреА рд╣реЛрдЧреАред рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╣ рдПрдХ рдкреНрд░реАрдлрд╝реИрдЪ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рд╡рд╣ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдзреНрд╡рдЬ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдИ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдЪреИрдирд▓ рдЦреЛрд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдбрд┐рд▓рд┐рд╡рд░реА рдЯреИрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорд╛рди рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ, рдиреАрд░рд╕ рдмрдврд╝рддреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд░рд╕реАрдж рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрджреЗрд╢ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реВрдЪрдирд╛рдПрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
- basic.ackред рдЗрд╕рдХреЗ рдмрд╛рдж, RabbitMQ рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХрдИ рдзреНрд╡рдЬ рд▓рдЧрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
- basic.nackред рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрддрд╛рд░ рдореЗрдВ рдЦрдбрд╝рд╛ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЬрдм рд╕рдВрджреЗрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рдХрддрд╛рд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣рд╛рдВ рд╕реЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ (рдЙрд╕реА рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ) рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред Basic.nack рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХрдИ рдзреНрд╡рдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред
- basic.rejectред Basic.nack рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХрд╛рдзрд┐рдХ рдзреНрд╡рдЬ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╢рдмреНрджрд╛рд░реНрде рдореВрд▓ рд░реВрдк рд╕реЗред рдмреБрдирд┐рдпрд╛рджреА рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХреЗ рд╕рд╛рде рдЖрдзрд╛рд░ = рдЧрд▓рдд рд╕рдорд╛рди рд╣реИрдВред рджреЛрдиреЛрдВ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдорддрд▓рдм рдХрддрд╛рд░ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рд╣рдЯрд╛рдирд╛ рд╣реИред
рдЕрдЧрд▓рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд░рд╕реАрдж рдХреА рд╕реВрдЪрдирд╛рдПрдВ рдХрдм рднреЗрдЬреЗрдВред рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдк рдЗрд╕ рдСрдкрд░реЗрд╢рди (рд╕рдлрд▓ рдпрд╛ рдЕрд╕рдлрд▓) рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рдВрджреЗрд╢ RabbitMQ рдХрддрд╛рд░ рдореЗрдВ рдерд╛ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрдИ рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ? рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрдирд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЪреИрдирд▓ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рд╕рдВрджреЗрд╢ рдЬрд┐рдирдореЗрдВ рдХреЛрдИ рд╕реВрдЪрдирд╛рдПрдВ рдирд╣реАрдВ рдереАрдВ, рдЙрдиреНрд╣реЗрдВ рдХрддрд╛рд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рджреВрд╕рд░реА рдмрд╛рд░ рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред
рдХрдиреЗрдХреНрд╢рди / рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рддреНрд░реБрдЯрд┐рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рдХрд╛рдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдмреНрд░реЛрдХрд░ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЪреИрдирд▓ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╕рднреА рд╕рдВрджреЗрд╢ рдЬрд┐рдирдХреА рд░рд╕реАрдж рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдХрддрд╛рд░рдмрджреНрдз рдФрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЦрд░рд╛рдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рджреЛрд╣рд░рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╕рдВрджреЗрд╢ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рд╡рд╣ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЕрдЧреНрд░реЗрд╖рдг рдХрд╛ рдЬреЛрдЦрд┐рдо рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╛рд░рд╛рдЬрд╝ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдлрд╝реНрд▓реИрдЧ рдХреЗ рд▓рд┐рдП RabbitMQ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
idempotencyрдпрджрд┐ idempotency рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рд╕рдВрджреЗрд╢ рдЧреБрдо рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рдХреБрдЫ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЪреЗрдХ рдпрд╛ рдЕрдиреНрдп idempotent рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдРрд╕реА рд░рдгрдиреАрддрд┐ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЗрд╖рдХ рд╣рдореЗрд╢рд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреБрдирдГ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдРрд╕реЗ рд╣реЗрдбрд░ рдФрд░ рдлрд┐рд░ рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдзреНрд╡рдЬ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
RabbitMQ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреА рдореИрд╕реЗрдЬрд┐рдВрдЧ рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реЗ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдпрд╣рд╛рдБ рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдВрджреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ:
- рдпрджрд┐ рдЖрдкрдХреЛ "рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХреА рдбрд┐рд▓реАрд╡рд░реА" рдХреА рд░рдгрдиреАрддрд┐ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЧрд╛рд░рдВрдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХрддрд╛рд░ рдорд┐рд░рд░рд┐рдВрдЧ, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХрддрд╛рд░реЗрдВ, рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрджреЗрд╢, рдкреНрд░реЗрд╖рдХ рдХреЗ рд▓рд┐рдП рдкрд╛рд╡рддреА, рдкреБрд╖реНрдЯрд┐ рдзреНрд╡рдЬ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕реЗ рдЬрдмрд░рди рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдпрджрд┐ рднреЗрдЬрдиреЗ рдХреЛ "рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХреА рдбрд┐рд▓реАрд╡рд░реА" рд░рдгрдиреАрддрд┐ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рднреЗрдЬреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдбреЗрдбрдкреНрд▓реАрдХреЗрд╢рди рдпрд╛ рдмреЗрджрдЦрд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
- рдпрджрд┐ рд╕рдВрджреЗрд╢ рдХреА рд╣рд╛рдирд┐ рдХрд╛ рдореБрджреНрджрд╛ рд╡рд┐рддрд░рдг рдХреА рдЧрддрд┐ рдФрд░ рдЙрдЪреНрдЪ рдорд╛рдкрдиреАрдпрддрд╛ рдХреЗ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рдирд╛ рдЕрддрд┐рд░реЗрдХ рдХреЗ, рдирд┐рд░рдВрддрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рд╕реНрд░реЛрдд рдкрд░ рд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕реЛрдЪреЗрдВред рдлрд┐рд░ рднреА, рдореИрдВ рдкреНрд░реАрдлрд╝реЗрдЪ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдмрджрд▓рдХрд░ рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕реЗ рдордЬрдмреВрд░ рд╕реВрдЪрдирд╛рдПрдВ рдЫреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ рдмреИрдЪреЛрдВ рдореЗрдВ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдФрд░ "рдПрдХрд╛рдзрд┐рдХ" рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдХрд╛рдлреНрдХрд╛ рдореЗрдВ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреАрд╡рд┐рддрд░рдг рдХреА рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВ:
- рд╕рдВрджреЗрд╢ рд╕реНрдерд╛рдпрд┐рддреНрд╡ - рдПрдХ рдЦрдВрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕рдВрджреЗрд╢ рдЦреЛ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ;
- рд╕рдВрджреЗрд╢ рд╕реВрдЪрдирд╛рдПрдБ - рдПрдХ рдУрд░ рдХрдлрд╝реНрдХрд╛ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдЕрдкрд╛рдЪреЗ рдЬрд╝реВрдкрд░ рднрдВрдбрд╛рд░) рдХреЗ рдмреАрдЪ рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдФрд░ рджреВрд╕рд░реА рдУрд░ рд╕реНрд░реЛрдд / рд░рд┐рд╕реАрд╡рд░ред
рд╕рдВрджреЗрд╢ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рд╢рдмреНрджRabbitMQ рдФрд░ Kafka рдХреЗ рдмреАрдЪ рдЕрдВрддрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред
RabbitMQ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж:
- рд╕рднреА рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рд╣рд░ X рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░реЗрдВред RabbitMQ рдЖрдорддреМрд░ рдкрд░ "рдПрдХрд╛рдзрд┐рдХ" рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред
- ┬лprefetch┬╗ ┬лmultiple┬╗.
. тАЬmultipleтАЭ. TCP.
Kafka . , . RabbitMQ, , , . , .
Kafka , , . , . RabbitMQ API , . RabbitMQ .
,Kafka - , , . . , , , , , .
Kafka (In Sync Replicas, ISR). . , , ( 10 ). , . - , .. . .
, Kafka , , , Kafka .
, Kafka, , :
- , . Acks=0.
- . Acks=1
- . Acks=All
, RabbitMQ. , , ( , ). , .
Kafka . :
- enable.idempotence тАЬtrueтАЭ,
- max.in.flight.requests.per.connection 5 ,
- retries 1 ,
- acks тАЬallтАЭ.
, acks=0/1 , .
, , . ZooKeeper Kafka.
(), , :
- . . . . , .
- , . тАЬ тАЭ. , ; , . , 10 , 4 , , , ;
- , . тАЬ тАЭ. , , , . , 10 , , 4 ;
- . , .
тАЬ тАЭ Kafka Streams, Java. Java . тАЬ тАЭ, , , . , , тАЬ тАЭ . , , () .
, Kafka Streams, , , тАЬ тАЭ. Kafka: . , . , , , ( ), .
Kafka тАЬ--тАЭ. . , , .
тАЬ тАЭ, , (, , ). тАЬ тАЭ, , . .
: тАЬ тАЭ ? . , , . . (Last Stable Offset, LSO) тАФ ; тАЬ тАЭ .
рдирд┐рд╖реНрдХрд░реНрд╖. , , . , Kafka , .
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛
- тАЬ тАЭ тАЬ тАЭ.
- .
- , . Kafka , .
- , , .
- .
- Kafka , тАЬ--тАЭ. .
- Kafka, - , ( ). RabbitMQ .
- рдХрдлрд╝рдХрд╛ рдкреИрдХреЗрдЯ рд╡рд┐рддрд░рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдкреИрдХреЗрдЯреАрдХрд░рдг рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдореЗрдВ рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рд╛рдкреНрдд рдореЙрдбрд▓ рдХреЗ рдХрд╛рд░рдг рдкреИрдХреЗрдЯреАрдХрд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рдЯрдХрд░рд╛рд╡ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред