مساء الخير يا هبر! أريد أن أشارك كتاب المعرفة المرجعية الذي تمكنت من جمعه 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.