рд╢реБрдн рджрд┐рдЙрдБрд╕реЛ, Habr! рдо рдЬреНрдЮрд╛рдирдХреЛ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ-рд╕рдиреНрджрд░реНрдн рдкреБрд╕реНрддрдХ рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ рдЬреБрди рдореИрд▓реЗ рд╕рдВрдЧреНрд░рд╣ рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реЗрдХреЛ рдЫреБ RabbitMQ
рд░ рдЫреЛрдЯреЛ рд╕рд┐рдлрд╛рд░рд┐рд╕рд╣рд░реВ рд░ рдирд┐рд╖реНрдХрд░реНрд╖рд╣рд░реВрдорд╛ рдЧрд╛рдврд╛ред
рд╕рд╛рдордЧреНрд░реАрдХреЛ рддрд╛рд▓рд┐рдХрд╛
- RabbitMQред рднрд╛рдЧ рез. рдкрд░рд┐рдЪрдпред Erlang, AMQP рд░ RPC
- RabbitMQред рднрд╛рдЧ 2. рдПрдХреНрд╕рдЪреЗрдиреНрдЬрд╣рд░реВ рдмреБрдЭреНрджреИ
- RabbitMQред рднрд╛рдЧ 3. рд▓рд╛рдорд╣рд░реВ рд░ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ рдмреБрдЭреНрджреИ
- RabbitMQред рднрд╛рдЧ 4. рд╕рдиреНрджреЗрд╢ рд░ рдлреНрд░реЗрдорд╣рд░реВ рдХреЗ рд╣реЛ рдмреБрдЭреНрджреИ
- RabbitMQред рднрд╛рдЧ рел: рд╕рдиреНрджреЗрд╢ рдкреНрд░рдХрд╛рд╢рди рд░ рдЙрдкрднреЛрдЧ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди
- RabbitMQред рднрд╛рдЧ 6. рдорд╣рд╛рд╕рдВрдШ рд░ рдлрд╛рд╡рдбрд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдХреЛ рд╕рдореАрдХреНрд╖рд╛
- RabbitMQред рднрд╛рдЧ 7. рдЬрдбрд╛рди рд░ рдЪреНрдпрд╛рдирд▓ рдмрд╛рд░реЗ рд╡рд┐рд╡рд░рдгрд╣рд░реВ
- RabbitMQред рднрд╛рдЧ 8. .NET рдорд╛ RabbitMQ
- RabbitMQред рднрд╛рдЧ 9. рдЕрдиреБрдЧрдорди
AMQP рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЫреЛрдЯрдХрд░реАрдорд╛
AMQP (Advanced Message Quueing Protocol) рдкреНрд░рдгрд╛рд▓реА рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдмреАрдЪ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЦреБрд▓рд╛ рдкреНрд░реЛрдЯреЛрдХрд▓ рд╣реЛред рдЖрдзрд╛рд░рднреВрдд рд╡рд┐рдЪрд╛рд░ рдпреЛ рд╣реЛ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ (рд╡рд╛ рд╕реНрд╡рддрдиреНрддреНрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ) AMQP рдмреНрд░реЛрдХрд░ рдорд╛рд░реНрдлрдд рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рд░реВрдкрдорд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдЖрджрд╛рдирдкреНрд░рджрд╛рди рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рдЬрд╕рд▓реЗ рд░рд╛рдЙрдЯрд┐рдЩ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫ, рд╕рдореНрднрд╡рддрдГ рдбреЗрд▓рд┐рднрд░реАрдХреЛ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рджрд┐рдиреНрдЫ, рдбрд╛рдЯрд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрджрдЫ, рд░ рдЗрдЪреНрдЫрд┐рдд рд╕рдиреНрджреЗрд╢ рдкреНрд░рдХрд╛рд░рд╣рд░реВрдорд╛ рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдиреНрдЫред
рдкреНрд░реЛрдЯреЛрдХрд▓ AMQP
рддреАрди рдЕрд╡рдзрд╛рд░рдгрд╛рд╣рд░реВ рдкрд░рд┐рдЪрдп:
exchange
(рд╡рд┐рдирд┐рдордп рдмрд┐рдиреНрджреБ рд╡рд╛ рд╡рд┐рдирд┐рдордп) - рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдпрд╕рд▓рд╛рдИ рдкрдард╛рдЗрдиреНрдЫред рд╡рд┐рдирд┐рдордп рдмрд┐рдиреНрджреБ рд╕рдиреНрджреЗрд╢ рд╡рд┐рддрд░рдг рдЧрд░реНрджрдЫ рдПрдХ рд╡рд╛ рдмрдвреА рд▓рд╛рдЗрдирдорд╛ред рддрд┐рдиреА рд╕рдиреНрджреЗрд╢рд╣рд░реВрд▓рд╛рдИ рд▓рд╛рдЗрдирдорд╛ рдкрдард╛рдЙрдБрдЫ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЬрдбрд╛рдирд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд (binding
) рдЙрд╣рд╛рдБ рд░ рд▓рд╛рдо рдмреАрдЪрдорд╛queue
(рдкрдВрдХреНрддрд┐) - рдбрд┐рд╕реНрдХ рд╡рд╛ RAM рдорд╛ рдбрд╛рдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫ рд░ рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВ рджрд┐рдиреНрдЫconsumers
(рдЙрдкрднреЛрдХреНрддрд╛рд╣рд░реВрд▓рд╛рдИ)binding
(рдмрд╛рдзреНрдпрдХрд╛рд░реА) - рдПрдХ рдирд┐рдпрдо рдХрд┐ рдпреА рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдХреБрди рд▓рд╛рдордорд╛ рдЬрд╛рдиреБрдкрд░реНрджрдЫ рднрдиреНрдиреЗ рд╡рд┐рдирд┐рдордп рдмрд┐рдиреНрджреБрд▓рд╛рдИ рдмрддрд╛рдЙрдБрдЫ
рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рдерд┐ рдЪрд▓реНрдЫ
Erlang рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЫреЛрдЯрдХрд░реАрдорд╛
рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдорд╛ рдЫ
Erlang
рдХрдореНрдкрдиреА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рддEricsson
1980 рдХреЛ рдордзреНрдпрдорд╛ 99,999% рдЕрдкрдЯрд╛рдЗрдо рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рддрд░рд┐рдд, рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд░реВрдкрдорд╛редErlang
рд╡рд┐рднрд┐рдиреНрди рдЙрджреНрдпреЛрдЧ рд░ рдЖрдзреБрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдЬреБрди рдлреЗрд╕рдмреБрдХрд▓реЗ $ 19 рдмрд┐рд▓рд┐рдпрдирдорд╛ рдХрд┐рдиреЗрдХреЛ рдерд┐рдпреЛ
RabbitMQ рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЫреЛрдЯрдХрд░реАрдорд╛
RabbitMQ
рдкреНрд░реЛрдЯреЛрдХрд▓ рд▓рд╛рдЧреВ рд░ рдкреВрд░рдХ AMQP
.
рдорд╛ рд╕рдиреНрджреЗрд╢ рдореЛрдбреЗрд▓ рдХреЛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ RabbitMQ
рдХреБрд░рд╛ рд╣реЛ producer
(рдкреНрд░рдХрд╛рд╢рдХ) рд▓реЗ рд▓рд╛рдордорд╛ рд╕реАрдзреИ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдБрджреИрдиред рд╡рд╛рд╕реНрддрд╡рдорд╛, рд░ рдкреНрд░рд╛рдпрдГ, рдкреНрд░рдХрд╛рд╢рдХрд▓рд╛рдИ рдпреЛ рдкрдирд┐ рдерд╛рд╣рд╛ рдЫреИрди рдХрд┐ рд╕рдиреНрджреЗрд╢ рдХреБрдиреИ рдкрдирд┐ рд▓рд╛рдордорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░рд┐рдиреЗрдЫред
рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛, рдкреНрд░рдХрд╛рд╢рдХрд▓реЗ рдПрдХреНрд╕рдЪреЗрдиреНрдЬрдорд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдорд╛рддреНрд░ рдкрдард╛рдЙрди рд╕рдХреНрдЫред рдПрдХрд╛рддрд┐рд░, рдПрдХреНрд╕рдЪреЗрдиреНрдЬрд▓реЗ рдкреНрд░рдХрд╛рд╢рдХрд╣рд░реВрдмрд╛рдЯ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ, рд░ рдЕрд░реНрдХреЛрддрд░реНрдл, рдпрд╕рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд▓рд╛рдордорд╛ рдкрдард╛рдЙрдБрдЫред рдПрдХреНрд╕рдЪреЗрдиреНрдЬрд▓реЗ рдареНрдпрд╛рдХреНрдХреИ рдерд╛рд╣рд╛ рдкрд╛рдЙрдиреБ рдкрд░реНрдЫ рдХрд┐ рдпрд╕рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХреЛ рд╕рдиреНрджреЗрд╢рд▓рд╛рдИ рдХреЗ рдЧрд░реНрдиреЗред рдХреЗ рдпреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдордорд╛ рдердкреНрдиреБ рдкрд░реНрдЫ? рдХреЗ рдпреЛ рдзреЗрд░реИ рд▓рд╛рдорд╣рд░реВрдорд╛ рдердкреНрдиреБ рдкрд░реНрдЫ? рд╡рд╛ рд╕рдиреНрджреЗрд╢рд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫред
рдЫреЛрдЯреЛ рдХрд╛рдо RabbitMQ
рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:
- рдкреНрд░рдХрд╛рд╢рдХрд▓реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдирд┐рдордпрдорд╛ рд╕рдиреНрджреЗрд╢ рдкрдард╛рдЙрдБрдЫ
- рдПрдЙрдЯрд╛ рдЖрджрд╛рдирдкреНрд░рджрд╛рдирд▓реЗ рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдкрдЫрд┐, рдпрд╕рд▓рд╛рдИ рд░ рд▓рд╛рдо рдмреАрдЪрдХреЛ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдирд┐рдпрдорд╣рд░реВ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рд╡рд╛ рдмрдвреА рд▓рд╛рдорд╣рд░реВрдорд╛ рд░реБрдЯ рдЧрд░реНрджрдЫред
- рд▓рд╛рдорд▓реЗ рдпреЛ рд╕рдиреНрджреЗрд╢рдХреЛ рд╕рдиреНрджрд░реНрдн рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫред рд╕рдиреНрджреЗрд╢ рдЖрдлреИрдВ RAM рд╡рд╛ рдбрд┐рд╕реНрдХрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ
- рдПрдХ рдкрдЯрдХ рдЙрдкрднреЛрдХреНрддрд╛ рд▓рд╛рдордмрд╛рдЯ рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рддрдпрд╛рд░ рднрдПрдкрдЫрд┐, рд╕рд░реНрднрд░рд▓реЗ рд▓рд┐рдЩреНрдХ рдорд╛рд░реНрдлрдд рд╕рдиреНрджреЗрд╢рдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдЙрдБрдЫ рд░ рдкрдард╛рдЙрдБрдЫред
- рдЙрдкрднреЛрдХреНрддрд╛рд▓реЗ рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ рд░ рдмреНрд░реЛрдХрд░рд▓рд╛рдИ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдкрдард╛рдЙрдБрджрдЫ
- рдмреНрд░реЛрдХрд░рд▓реЗ рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдкрдЫрд┐, рд▓рд╛рдордмрд╛рдЯ рд╕рдиреНрджреЗрд╢рдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣рдЯрд╛рдЙрдБрдЫред рддреНрдпрд╕рдкрдЫрд┐ RAM рд░ рдбрд┐рд╕реНрдХрдмрд╛рдЯ рд╣рдЯрд╛рдЙрдБрдЫ
Rpc
рдкреНрд░рдХреНрд░рд┐рдпрд╛ RabbitMQ
ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЧреНрд░рд╛рд╣рдХрдХрд╛ рд╕рд░реНрддрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЫрд▓рдлрд▓ RabbitMQ
, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЗрдЦрд╛рдЙрдБрдЫ RPC
ред рдпреЛ рдХреНрд░рдо рдкреВрд░рд╛ рднрдПрдкрдЫрд┐, RabbitMQ
рдЧреНрд░рд╛рд╣рдХрдмрд╛рдЯ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рддрдпрд╛рд░ рд╣реБрдиреЗрдЫ:
рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдорд╛ рдкрдирд┐ AMQP
рджреБрдмреИ рдЧреНрд░рд╛рд╣рдХ рд░ рд╕рд░реНрднрд░рд▓реЗ рдЖрджреЗрд╢ рдЬрд╛рд░реА рдЧрд░реНрди рд╕рдХреНрдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╕рд░реНрднрд░рд╕рдБрдЧ рдХреБрд░рд╛рдХрд╛рдиреА рдЧрд░реНрди рдкрд░реНрдЦрд┐рд░рд╣реЗрдХреЛ рдЫред рдЖрджреЗрд╢рд╣рд░реВ рд╡рд░реНрдЧ рд░ рд╡рд┐рдзрд┐рд╣рд░реВ рд╣реБрдиреНред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, Connection.Start
- рд╡рд┐рдзрд┐ рдХрд▓ Start
рд╡рд░реНрдЧ Connection
.
рдЬрдбрд╛рди рд░ рдЪреНрдпрд╛рдирд▓рд╣рд░реВ
рдЧреНрд░рд╛рд╣рдХ рд░ рд╕рд░реНрднрд░ рдмреАрдЪ рдпрд╕реНрддреЛ рдЬрд╛рдирдХрд╛рд░реА рдЖрджрд╛рди рдкреНрд░рджрд╛рди рдХреЛ рд▓рд╛рдЧреА, рдЪреНрдпрд╛рдирд▓рд╣рд░реВред рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рднрд┐рддреНрд░ рдмрдирд╛рдЗрдиреНрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрдбрд╛рдиред рдкреНрд░рддреНрдпреЗрдХ рдЪреНрдпрд╛рдирд▓ рдЕрдиреНрдп рдЪреНрдпрд╛рдирд▓рд╣рд░реВрдмрд╛рдЯ рдЕрд▓рдЧ рдЫред рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдирднрдПрд╕рдореНрдо рдЕрд░реНрдХреЛ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫреИрдиред
рд╕рдорд╛рдирд╛рдиреНрддрд░рдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрди рд╕рдХреНрд╖рдо рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рдЦреЛрд▓реНрдиреБ рдкрд░реНрдЫред рдкреНрд░рддреНрдпреЗрдХ рдЪреНрдпрд╛рдирд▓рд▓реЗ рдЫреБрдЯреНрдЯреИ рдмрдирд╛рдЙрдБрдЫ Erlang
рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдПрдЙрдЯрд╛ рдЬрдбрд╛рдирдорд╛ рдзреЗрд░реИ рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреН (
рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЬрдбрд╛рди рд░ рдЪреНрдпрд╛рдирд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг
// ...
private void TryConnect()
{
var factory = new ConnectionFactory()
{
HostName = "host_name",
UserName = "user_name",
Password = "p@ssword",
// ╨Т╨║╨╗╤О╤З╨╡╨╜╨╕╨╡ ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╨║╨╛╨│╨╛ ╨▓╨╛╤Б╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜╨╕╤П
// ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П ╨┐╨╛╤Б╨╗╨╡ ╤Б╨▒╨╛╨╡╨▓ ╤Б╨╡╤В╨╕
AutomaticRecoveryEnabled = true
};
_connection = factory.CreateConnection();
}
// ...
public void CreateChanel()
{
_channel = _connection.CreateModel();
// other options
}
рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрд░реЗрд╕рдирдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдЬрдбрд╛рди рдЦреЛрд▓реНрдирд▓рд╛рдИ рдпрд╕рд░реА рдирд┐рд░реБрддреНрд╕рд╛рд╣рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ рдЙрдЪреНрдЪ рд▓рд╛рдЧрддрдХреЛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрдиреЗрдЫред рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рдкрдирд┐ рдирд┐рд░рдиреНрддрд░ рд╣реБрдиреБрдкрд░реНрдЫ, рддрд░ рдзреЗрд░реИ рдкреНрд░реЛрдЯреЛрдХрд▓ рддреНрд░реБрдЯрд┐рд╣рд░реВрд▓реЗ рдЪреНрдпрд╛рдирд▓ рдмрдиреНрдж рдЧрд░реНрди рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ, рддреНрдпрд╕реИрд▓реЗ рдЪреНрдпрд╛рдирд▓рдХреЛ рдЬреАрд╡рдирдХрд╛рд▓ рдЬрдбрд╛рдирдХреЛ рднрдиреНрджрд╛ рдЫреЛрдЯреЛ рд╣реБрди рд╕рдХреНрдЫред
RabbitMQ рдХрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ?
рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛, рдкреНрд░реЛрдЯреЛрдХрд▓ AMQP
рд░ рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╛ RabbitMQ
рдЕрдХреНрд╕рд░ рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗрд╡рд╛рд╣рд░реВ рдмреАрдЪред
рд╕рдиреНрджрд░реНрднрдорд╛ IIOT
рдкреНрд░реЛрдЯреЛрдХрд▓ AMQP
рд░ рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╛ RabbitMQ
рд╕рд░реНрднрд░рд╣рд░реВ (рд╕рд░реНрднрд░-рд╕рд░реНрднрд░) рдмреАрдЪ рдбрд╛рдЯрд╛ рдЖрджрд╛рдирдкреНрд░рджрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдкреНрд▓рдЧрдЗрди рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛ рд╣рд╛рдореА рдПрдХреНрд╕рдЪреЗрдиреНрдЬрд▓рд╛рдИ рдердк рд╡рд┐рд╕реНрддрд╛рд░рдорд╛ рдмреБрдЭреНрди рд╕реБрд░реБ рдЧрд░реНрдиреЗрдЫреМрдВред
рд╕рдиреНрджрд░реНрдн
рд╕реНрд░реЛрдд: www.habr.com