Selamat siang, Habr! Saya ingin berbagi buku pengetahuan referensi buku teks yang berhasil saya kumpulkan RabbitMQ
dan 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 AMQP
memperkenalkan 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.