Boa tarde, Habr! Desejo compartilhar um livro de referência de livros didáticos que consegui coletar RabbitMQe compactar em breves recomendações e conclusões.
Índice
Brevemente sobre AMQP
O AMQP (Advanced Message Queuing Protocol) é um protocolo aberto para transferência de mensagens entre componentes do sistema. A idéia principal é que subsistemas individuais (ou aplicativos independentes) podem trocar mensagens de maneira arbitrária por meio de um broker AMQP que fornece roteamento, possivelmente garante entrega, distribuição de fluxos de dados e assinatura para os tipos necessários de mensagens.
O protocolo AMQPapresenta três conceitos:

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.