рдмрд┐рдВрджреБрдУрдВ, рдХрддрд╛рд░реЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдХреБрдЫ рдирд┐рдпрдоред
| exchange | type | binding_queue | binding_key | |-------------------------------------------------------| | user.write | topic | user.created.app2 | user.created |
рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВрдПрдПрдордХреНрдпреВрдкреА (рдПрдбрд╡рд╛рдВрд╕реНрдб рдореИрд╕реЗрдЬ рдХреНрдпреВрдЗрдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рд╕рд┐рд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред
рдкреНрд░рджрд╛рддрд╛ (рдкреНрд░рдХрд╛рд╢рдХ / рдирд┐рд░реНрдорд╛рддрд╛) - рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред
рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ (рдЙрдкрднреЛрдХреНрддрд╛) - рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЧреНрд░рд╛рд╣рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
рдХрддрд╛рд░ - рдПрдХ рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ред
рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд╡рд╛рдЗрдВрдЯ (рдПрдХреНрд╕рдЪреЗрдВрдЬ) - рдХрддрд╛рд░ рдХреЗ рд╡рд┐рдирд┐рдордп рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ, рдЬреЛ рд░реВрдЯрд┐рдВрдЧ рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реИред
рдирд┐рдпрдо рез
рдкреНрд░рддреНрдпреЗрдХ рдХрддрд╛рд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдиреМрдХрд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╣реА рдХрддрд╛рд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ рди рдорд┐рд▓рд╛рдПрдВред рдФрд░ рдЬрдм рдЗрд╕ рдирд┐рдпрдо рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рдпрдо реи
рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬрдиреЗ рд╕реЗ рдмрдЪреЗрдВред рдпрджрд┐ рдЖрдк рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдЧреНрд░рд╛рд╣рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рд╕рдВрджреЗрд╢ рдХреЛ рдЕрдиреНрдп рдХрддрд╛рд░реЛрдВ рдореЗрдВ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╕рдВрднрд╡рдд: рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░реВрдЯрд┐рдВрдЧ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБрдУрдВ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ, рди рдХрд┐ рдХрддрд╛рд░реЛрдВ рдХреАред
рдирд┐рдпрдо рей
рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрддрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдПрдПрдордХреНрдпреВрдкреА рдХреЗ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрд┐рдВрджреБрдУрдВ рдФрд░ рдХрддрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рднрд╛рдЬрди рд╣реИ, рддрд╛рдХрд┐ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ рдХрд┐ рд╕рдВрджреЗрд╢ рдЧреНрд░рд╛рд╣рдХ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╕рдорд╛рдзрд╛рди
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк "рдХрд╕реНрдЯрдо" рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрдХ рдФрд░ рдХрддрд╛рд░реЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
| object | event | |------------------| | user | created | | user | updated | | user | deleted |
рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдПрдХ рд╡рд╕реНрддреБ ("рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рд╡рд╕реНрддреБ) рдХреА рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдирд╛рдПрдВ, рдХреНрдпрд╛ рдореБрдЭреЗ рддреАрдиреЛрдВ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ, рдпрд╛ рдХрдИ?
рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рдФрд░ рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдХреНрдпрд╛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдмрд┐рдВрджреБ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рд╕рднреА 3 рдкреНрд░рдХрд╛рд░ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдПрдХ "рд░рд╛рдЗрдЯ" рдЗрд╡реЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдЙрдкрдкреНрд░рдХрд╛рд░ "рдмрдирд╛рдП рдЧрдП", "рдЕрдкрдбреЗрдЯ" рдФрд░ "рд╣рдЯрд╛рдП рдЧрдП" рд╣реИрдВ?
| object | event | sub-type | |-----------------------------| | user | write | created | | user | write | updated | | user | write | deleted |
рд╕рдорд╛рдзрд╛рди 1
рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди "user.write" рдХрддрд╛рд░ рдмрдирд╛рдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рд╕реЗ рдЗрд╕ рдХрддрд╛рд░ рддрдХ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред
рдирд┐рд░реНрдгрдп реи
рдЬрдм рдХреЛрдИ рджреВрд╕рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рд╣реЛ) рд╕рд░рд▓рддрдо рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рд╕реА рднреА рд╕рдВрджреЗрд╢ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЬрдм рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд┐рдВрджреА рдХреЗ рд╕рд╛рде рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде "рдлреИрдирдЖрдЙрдЯ" рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрджреЗрд╢ рдмрд┐рдВрджреБ рдкрд░ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХрддрд╛рд░ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрддрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИред
| queue | subscriber | |-------------------------------| | user.write.app1 | app1 | | user.write.app2 | app2 | | exchange | type | binding_queue | |---------------------------------------| | user.write | fanout | user.write.app1 | | user.write | fanout | user.write.app2 |
рджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рд░ рдЧреНрд░рд╛рд╣рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "user.write" рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рднреА рдЙрдкрдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗрд╡рд▓ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рд▓реЙрдЧ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреБрдЫ рдЧреНрд░рд╛рд╣рдХ рдЖрдкрдХреЗ рд╕рдВрдЧрдарди рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, app2 рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рд░реНрдгрдп рей
рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ "user.write" рдкреНрд░рдХрд╛рд░ рд╕реЗ "user.created" рдШрдЯрдирд╛ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рд╡рд┐рд╖рдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдо user.created / user.updated / user.deleted рдХреЛ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рд░реВрдЯрд┐рдВрдЧ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдВрдЪрд╛рд░ рдХреБрдВрдЬреА "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред *" рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ "user.write.app1" рдФрд░ рд╕рдВрдЪрд╛рд░ рдХреБрдВрдЬреА "user.created"ред рдХрддрд╛рд░ рдореЗрдВ "user.created.app2"ред
| queue | subscriber | |---------------------------------| | user.write.app1 | app1 | | user.created.app2 | app2 | | exchange | type | binding_queue | binding_key | |-------------------------------------------------------| | user.write | topic | user.write.app1 | user.* | | user.write | topic | user.created.app2 | user.created |
рдирд┐рд░реНрдгрдп рек
рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХрд╛ рд╡рд┐рд╖рдп рд╡рд┐рд╖рдп рдкреНрд░рдХрд╛рд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдпреЛрдЬрди рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдкреНрд░рддреНрдпрдХреНрд╖" рдкреНрд░рдХрд╛рд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
| queue | subscriber | |---------------------------------| | user.write.app1 | app1 | | user.created.app2 | app2 | | exchange | type | binding_queue | binding_key | |--------------------------------------------------------| | user.write | direct | user.write.app1 | user.created | | user.write | direct | user.write.app1 | user.updated | | user.write | direct | user.write.app1 | user.deleted | | user.write | direct | user.created.app2 | user.created |
рд╣рдо рд╕рд╡рд╛рд▓ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ "рдПрдХ рдмрд┐рдВрджреБ, рдпрд╛ рдмрд╣реБрдд?"ред рдЬрдм рддрдХ рд╕рднреА рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдПрдХ рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рдХрдИ рдмрд┐рдВрджреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ?
рдирд┐рд░реНрдгрдп рел
рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ, рдЬрдм рдКрдкрд░ рд╡рд░реНрдгрд┐рдд, рдЕрджреНрдпрддрди, рдФрд░ рд╣рдЯрд╛рдП рдЧрдП рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдПрдХ рдФрд░ рд╕рдореВрд╣ рд╣реИ: рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ - рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЬреЛ "рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ" рдХреЗ рдмрдЬрд╛рдп "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░" рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП, рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╛рдЙрдЯрд┐рдВрдЧ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдФрд░ рд╕рдордЭреМрддреЛрдВ рдФрд░ рдХрддрд╛рд░реЛрдВ рдХреЗ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
| queue | subscriber | |----------------------------------| | user.write.app1 | app1 | | user.created.app2 | app2 | | user.behavior.app3 | app3 | | exchange | type | binding_queue | binding_key | |--------------------------------------------------------------| | user.write | topic | user.write.app1 | user.* | | user.write | topic | user.created.app2 | user.created | | user.behavior | topic | user.behavior.app3 | user.* |
рд▓реЗрдЦ
RabbitMQ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдФрд░ рдХрддрд╛рд░ рдбрд┐рдЬрд╛рдЗрди рд╡реНрдпрд╛рдкрд╛рд░ рд╕реЗ рдореБрдХреНрдд рдЕрдиреБрд╡рд╛рджред