Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3645|Odpowiedź: 0

Szczegółowe wyjaśnienie architektury wiadomości AMQP w RabbitMQ

[Skopiuj link]
Opublikowano 14.08.2022 23:32:43 | | | |
Wprowadzenie do protokołu AMQP

AMQP (Advanced Message Queuing Protocol) to protokół standardowy na warstwie aplikacji, który zapewnia zunifikowane usługi komunikacji i jest otwartym standardem dla protokołów warstwy aplikacji zaprojektowanych dla oprogramowania pośredniczącego na wiadomościach. AMQP to protokół sieciowy do przekazywania asynchronicznych wiadomości między procesami.

Klienci i oprogramowanie pośredniczące wiadomości oparte na tym protokole mogą dostarczać wiadomości bez ograniczeń ze strony różnych produktów klient/middleware, różnych języków rozwoju itp.

Główne cechy AMQP to zorientowanie się na komunikaty, kolejkowa, routing (w tym peer-to-peer i publikowanie/subskrypcja), niezawodność oraz bezpieczeństwo. AMQP egzekwuje zachowanie dostawców wiadomości i klientów, umożliwiając prawdziwą interoperacyjność między różnymi dostawcami.

Szczegółowe wyjaśnienie protokołu AMQP
https://www.itsvse.com/thread-10347-1-1.html

Wiadomości kierowania

W architekturze AMQP każde skuteczne routowanie wiadomości składa się z trzech części:

  • Exchange: Gdzie producenci publikują wiadomości
  • Kolejki: Gdzie konsumenci otrzymują wiadomości
  • Powiązania: Jak wiadomości są kierowane z przełącznika do konkretnej kolejki


Wymiany i oprawy

Jak więc wiadomość dociera do kolejki? Za każdym razem, gdy chcesz przekazać wiadomość konsumentowi, musisz najpierw wysłać ją do wymiennika. Następnie, na podstawie określonych reguł lub kluczy routingu, RabbitMQ zdecyduje, do której kolejki ma dostarczać wiadomości.

Reguły – czyli klucze routingowe – pozwalają przypisać kolejkę do centrali. RabbitMQ spróbuje dopasować klucz routingu w wiadomości do klucza użytego w przypisaniu. Wiadomość jest następnie dostarczana do kolejki na podstawie jednego z czterech typów wymiany: fanout, temat, bezpośredni, nagłówek



Wymiana Fanout

Ten typ wymiany nadaje wszystkie otrzymane wiadomości do wszystkich kolejek powiązanych z nią. Wszelkie klucze routingowe dostarczone w opublikowanej wiadomości zostaną zignorowane.

Wymiana tematów

W tego typu wymianie wiadomości są wysyłane do kolejki opartej na kluczu routingu. Oznacza to, że wiadomości wysyłane do wymiany tematów muszą mieć określony klucz routingu, którym musi być lista słów oddzielonych punktami (np. 'acs.deviceoperations.'). Limit sformułowania wynosi 255 bajtów.

Klucz wiązania musi być w tym samym formacie co klucz routingu. Dlatego wiadomości wysyłane z określonym kluczem routingowym będą dostarczane do każdej kolejki powiązanej z dopasowanym kluczem wiązającym.

Klucze wiązające pozwalają na następujące reguły wyrażeń:

*(gwiazdka) może zastąpić tylko jedno słowo
# (hash) może zastąpić zero lub więcej słów
Gdy kolejka jest powiązana kluczem wiązającym "#" (hash), otrzyma wszystkie wiadomości niezależnie od klucza routingu, podobnie jak w wymianie Fanout fan-out.

Bezpośrednia wymiana

Gdy kolejka zostanie zadeklarowana, będzieAutomatycznie przypisuj przełącznik, który używa nazwy kolejki jako klucza routingu。 Jeśli klucz routingu się zgadza, wiadomość jest dostarczana do odpowiedniej kolejki.

Wymiana nagłówków

Przełączniki nagłówkowe są w pewnym stopniu podobne do przełączników tematów, ale w przeciwieństwie do przełączników tematów, trasowanie opiera się na kluczach trasy, a wartości routingu przełączników nagłówków na podstawie danych nagłówkowych wiadomości.
Klucz routingowy przełącznika tematu to tylko ciąg znaków, natomiast przełącznik nagłówka może być liczbą całkowitą i skrótem.

(Koniec)





Poprzedni:Szczegółowe wyjaśnienie protokołu AMQP
Następny:[Skręć]. Optymalizacje wydajności NET – szybkie przeszukiwanie kolekcji List
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com