Пас аз он ки истеъмолкунанда барои гирифтани паём аз навбат омода аст, сервер нусхаи паёмро тавассути истинод эҷод мекунад ва мефиристад
Истеъмолкунанда паёмро қабул мекунад ва тасдиқро ба брокер мефиристад
Брокер пас аз гирифтани тасдиқ нусхаи паёмро аз навбат хориҷ мекунад. Пас аз RAM ва диск нест карда мешавад
CPR
раванди RPC (занги расмиёти дурдаст) дар асоси кариб тамоми таъсири мутакобила бо ядро RabbitMQ. Масалан, мубоҳисаҳои ибтидоӣ дар бораи шартҳои муштарӣ бо RabbitMQ, процесси муайянеро нишон медихад RPC. Пас аз ба итмом расидани ин пайдарпай, RabbitMQ омода аст дархостҳои муштариро қабул кунад:
Инчунин дар мушаххасот AMQP ҳам муштарӣ ва ҳам сервер метавонанд фармонҳо диҳанд. Ин маънои онро дорад, ки муштарӣ мунтазири муошират бо сервер аст. Фармонҳо синфҳо ва усулҳо мебошанд. Барои намуна, Connection.Start - даъвати усул Start дараҷа Connection.
Пайвастшавӣ ва каналҳо
Барои чунин мубодилаи иттилоот байни муштарӣ ва сервер, каналҳо. Каналҳо дар дохили он сохта мешаванд алоқаи мушаххас. Ҳар як канал аз дигар каналҳо ҷудо карда шудааст. Дар ҳолати синхронӣ то гирифтани ҷавоб иҷро кардани фармони навбатӣ имконнопазир аст.
Барои ба таври мувозӣ фиристодани фармонҳо, шумо бояд якчанд канал кушоед. Ҳар як канал алоҳида эҷод мекунад Erlang раванд. Як пайвастшавӣ метавонад якчанд канал дошта бошад (мултиплексизатсия). Барои ҳар як канал сохторҳо ва объектҳои муайян дар хотира мавҷуданд. Аз ин рӯ, дар дохили пайваст ҳар қадар каналҳо зиёд бошанд, ҳамон қадар 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 CreateChanel()
{
_channel = _connection.CreateModel();
// other options
}
Кушодани пайвасти нав барои ҳар як амалиёт сахт манъ аст, зеро ин боиси харочоти калон мегардад. Каналҳо низ бояд доимӣ бошанд, аммо хатогиҳои зиёди протокол боиси баста шудани канал мешаванд, аз ин рӯ, умри канал метавонад назар ба пайвастшавӣ кӯтоҳтар бошад.