Selamat siang, Habr! Saya ingin berbagi buku pengetahuan referensi buku teks yang berhasil saya kumpulkan RabbitMQdan kompres menjadi rekomendasi dan kesimpulan singkat.
Daftar Isi
Secara singkat tentang AMQP
AMQP (Advanced Message Queuing Protocol) adalah protokol terbuka untuk mentransfer pesan antar komponen sistem. Gagasan utamanya adalah bahwa masing-masing subsistem (atau aplikasi independen) dapat bertukar pesan dengan cara sewenang-wenang melalui broker AMQP yang menyediakan perutean, mungkin menjamin pengiriman, distribusi aliran data, dan berlangganan ke jenis pesan yang diperlukan.
Protokol AMQPmemperkenalkan tiga konsep:

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.