рд╢реБрдн рджреЛрдкрд╣рд░, рд╣рдмреНрд░! рдореИрдВ рдЬреНрдЮрд╛рди рдХреА рдПрдХ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ-рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ RabbitMQ
рдЫреЛрдЯреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдореЗрдВ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ ред
рд╡рд┐рд╖рдп - рд╕реВрдЪреА
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдПрдордХреНрдпреВрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
AMQP (рдЙрдиреНрдирдд рд╕рдВрджреЗрд╢ рдХрддрд╛рд░рдмрджреНрдз рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рд╕рд┐рд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрджреЗрд╢ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдмрд╕рд┐рд╕реНрдЯрдо (рдпрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ) рдПрдХ AMQP рдмреНрд░реЛрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд░реВрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрднрд╡рддрдГ рд╡рд┐рддрд░рдг, рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╡рд┐рддрд░рдг рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВред
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ AMQP
рддреАрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ:

exchange
( ) тАФ . . (binding
)queue
() тАФ , consumers
().binding
() тАФ , .
TCP/IP.
Erlang
GitHub. RabbitMQ-server Erlang BEAM.
Erlang
Ericsson
1980-x , , , 99,999%. Erlang
, WhatsApp
. WhatsApp, Facebook $19
RabbitMQ
RabbitMQ тАУ . AMQP . . RabbitMQ
AMQP
.
RabbitMQ
, producer
() . , - .
. , , тАФ . , . ? ? .

RabbitMQ
:
- , ,
- .
- ,
- , , .
RPC
RPC (remote procedure call) RabbitMQ
. , RabbitMQ
, RPC
. , RabbitMQ
:

AMQP
. , . тАФ . , Connection.Start
тАУ Start
Connection
.
. . . , .
. Erlang
. (multiplexing). . , RabbitMQ .

RabbitMQ.Client:
private void TryConnect()
{
var factory = new ConnectionFactory()
{
HostName = "host_name",
UserName = "user_name",
Password = "p@ssword",
AutomaticRecoveryEnabled = true
};
_connection = factory.CreateConnection();
}
public void CreateChannel()
{
_channel = _connection.CreateModel();
}
, , . , , , .
RabbitMQ?
AMQP
RabbitMQ
.
IIOT
AMQP
RabbitMQ
(-). MQTT Plugin RabbitMQ MQTT ( ).
Exchanges.