مساء الخير يا هبر! أريد أن أشارك كتاب المعرفة المرجعية الذي تمكنت من جمعه RabbitMQوضغطه في توصيات واستنتاجات قصيرة.
جدول المحتويات
باختصار حول AMQP
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.