23.07.2023
1613
Bu, ümumiyyətlə, sıx trafik axını olan tətbiqlərdə lazımdır. Bu strukturların köməyi ilə bir tətbiqdən alınan mesajın yeri gələndə digər tətbiqə ötürülməsini təmin edə bilərik. Tətbiqlərimizdə dərhal görülən işlərə həmişə ehtiyacımız olmaya bilər. Belə hallarda Message Queue strukturlarından istifadə etməklə dərhal yerinə yetirilməsi lazım olmayan işlər növbə strukturunda yerləşdirilir.
RabbitMQ növbəli mesaj sistemidir, open source-dur. Mesaj sistemləri, müxtəlif sistemlərin bir-biri ilə məlumatlarını mübadilə etməsinə kömək edir. RabbitMQ müxtəlif proqramlar və platformalar arasında asinxron mesajlaşma imkanı yaradır. Alternativləri Apache Kafka, Msmq, Microsoft Azure Service Bus, Kestrel, ActiveMQ kimi mesaj sistemləridir. RabbitMQ virtual runtime’da çalışır və erlang dili ilə yazılmışdır.
Queue — Mesajın müvəqqəti olaraq saxlandığı depodur. Və ya növbədir.
Consumer — Mesajları alan və lazımi işləri üzərində tətbiq edən sistem və ya servisdir.
FIFO -RabbitMQ’da gedən mesajların işləmə sırası “first in first out”, yəni, ilk daxil olan ilk çıxar şəklindədir. Routing key Mesajları müəyyən Exchange’dən müəyyən Queue’yə yönləndirmək üçün istifadə olunan bir parametrdir başqa cür Binging Key olaraq adlandırılır.
Channel Mesajın Publisher’dən RabbitMQ’yə göndərilməsi və RabbitMQ’dən Consumer’ə göndərilməsi zamanı Channel anlayışından istifadə olunur. Bir sözlə Channel vasitəsi ilə RabbitMQ’lə əlaqə yaradaraq mesaj göndərib ala bilərik. Hər Channel, bir Queue və ya Exchange ilə əlaqələndirilib müəyyən kanal üzərindən göndərilə bilər.
Hər şey çoxyönlü bir mühit yaratmaq üçündür. İşləri asinxron bir şəkildə həyata keçirərək, həm proyektimizi işlədən insanları gözləmə müddəti maliyyətindən qutarmaq, həm də server üzərindəki paralel proses maliyyətinin minimuma endirilməsi üçündür.
Quraşdırılmasına başlamadan əvvəl Erlang yükləyirik
Erlang dilini quraşdırdıqdan sonra RabbitMQ quraşdırmağa başlayırıq. Bu link - dən yükləmək lazımdır. Command Prompt –u açırıq. Orada “C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.0\sbin\” yoluna daxil olub rabbitmq-plugins.bat enable rabbitmq_management komandasını işlədirik.
Mikroservis Arxitekturası
RabbitMQ mikroservis arxitekturasında müstəqil xidmətlər arasında əlaqəni asanlaşdırmaq üçün istifadə olunur. Hər bir mikroservis öz funksionallığını həyata keçirir və digər mikroservislərlə asinxron əlaqə yaratmaq üçün RabbitMQ-dan istifadə edə bilər. Bu, xidmətlər arasında asılılığı azaldır və sistemdə miqyaslılığı artırır.
Satış sifarişi yaradıldıqda, RabbitMQ bu məlumatı maliyyə sisteminə ötürmək və ya məhsul inventarının yenilənməsini təmin etmək üçün istifadə edilə bilər.
Məqaləni hazırladı: Məhəbbət Babayeva
Təsdiqlədi: Əlinemət İsiyev