Eksplorowanie usługi Azure Service Bus
Usługa Azure Service Bus to w pełni zarządzany broker komunikatów przedsiębiorstwa z kolejkami komunikatów i tematami publikowania i subskrybowania. Usługa Service Bus służy do oddzielania aplikacji i usług. Dane są przesyłane między różnymi aplikacjami i usługami przy użyciu komunikatów. Komunikat jest kontenerem ozdobionym metadanymi i zawiera dane. Dane mogą być dowolnym rodzajem informacji, w tym danymi ustrukturyzowanymi zakodowanymi w typowych formatach, takimi jak następujące: JSON, XML, Apache Avro i Zwykły tekst.
Niektóre typowe scenariusze obsługi komunikatów:
- Wiadomości. Transfer danych biznesowych, takich jak sprzedaż lub zamówienia zakupu, dzienniki lub ruchy zapasów.
- Rozdziel aplikacje. Zwiększanie niezawodności i skalowalności aplikacji i usług. Klient i usługa nie muszą być w trybie online w tym samym czasie.
- Tematy i subskrypcje. Włącz relacje 1:n między wydawcami i subskrybentami.
- Sesje komunikatów. Zaimplementuj przepływy pracy wymagające porządkowania komunikatów lub odroczenia komunikatów.
Warstwy usługi Service Bus
Usługa Service Bus oferuje trzy warstwy cenowe: Podstawowa, Standardowa i Premium. Każda warstwa jest przeznaczona do obsługi różnych przypadków użycia i wymagań.
Warstwa Podstawowa — odpowiednia dla prostych scenariuszy obsługi komunikatów z małą przepływnością i minimalnymi wymaganiami dotyczącymi funkcji. Warstwa podstawowa obsługuje tylko kolejki (nie tematy i subskrypcje).
Warstwa Standardowa — zalecana w przypadku środowisk deweloperskich/testowych lub scenariuszy o niskiej przepływności, w których aplikacje nie są wrażliwe na ograniczanie przepustowości. Obsługuje zarówno kolejki, jak i tematy z subskrypcjami.
Warstwa Premium — zalecana w przypadku scenariuszy produkcyjnych wymagających przewidywalnego opóźnienia i wysokiej przepływności. Oferuje izolację zasobów na poziomie procesora CPU i pamięci oraz zaawansowane funkcje dla aplikacji o krytycznym znaczeniu.
Aby uzyskać więcej informacji na temat dostępnych warstw, odwiedź stronę Cennik usługi Service Bus.
Porównanie warstw
| Funkcja | Basic | Standard | Premium |
|---|---|---|---|
| Throughput | Low | Variable | High |
| Performance | Nie dotyczy | Zmienne opóźnienie | Przewidywalna wydajność |
| Pricing | Płać za rzeczywiste użycie | Zmienne ceny i płatność zgodnie z rzeczywistym użyciem | Stałe ceny za jednostkę wiadomości |
| Scaling | Nie dotyczy | Nie dotyczy | Możliwość skalowania obciążenia |
| Rozmiar komunikatu | 256 KB | 256 KB | Do 100 MB |
| Tematy i subskrypcje | Niewspierane | Wsparte | Wsparte |
| Transakcje | Niewspierane | Wsparte | Wsparte |
| Automatyczne przekazywanie | Niewspierane | Wsparte | Wsparte |
| Sesje komunikatów | Wsparte | Wsparte | Wsparte |
Funkcje zaawansowane
Usługa Service Bus zawiera zaawansowane funkcje, które umożliwiają rozwiązywanie bardziej złożonych problemów z obsługą komunikatów. W poniższej tabeli opisano kilka z tych funkcji.
| Funkcja | opis |
|---|---|
| Sesje komunikatów | Aby utworzyć gwarancję fiFO (first-in, first-in, first-out) w usłudze Service Bus, użyj sesji. Sesje komunikatów umożliwiają wyłączną, uporządkowaną obsługę niezwiązanych sekwencji powiązanych komunikatów. |
| Automatyczne przekazywanie | Funkcja autoforwarding zawiera kolejkę lub subskrypcję do innej kolejki lub tematu, który znajduje się w tej samej przestrzeni nazw. |
| Kolejka utraconych komunikatów | Usługa Service Bus obsługuje kolejkę utraconych komunikatów (DLQ). DlQ przechowuje komunikaty, których nie można dostarczyć do żadnego odbiornika. Usługa Service Bus umożliwia usuwanie komunikatów z biblioteki DLQ i ich inspekcję. |
| Zaplanowane dostarczanie | Komunikaty można przesyłać do kolejki lub tematu w celu opóźnionego przetwarzania. Możesz zaplanować udostępnienie zadania do przetwarzania przez system w określonym czasie. |
| Odraczanie komunikatów | Klient kolejki lub subskrypcji może odroczyć pobieranie komunikatu do późniejszego czasu. Komunikat pozostaje w kolejce lub subskrypcji, ale jest odkładany. |
| Transakcje | Transakcja grupuje ze sobą co najmniej dwie operacje w zakresie wykonywania. Usługa Service Bus obsługuje operacje grupowania względem pojedynczej jednostki obsługi komunikatów w zakresie pojedynczej transakcji. Jednostka komunikatu może być kolejką, tematem lub subskrypcją. |
| Filtrowanie i akcje | Subskrybenci mogą zdefiniować, które komunikaty chcą odbierać z tematu. Komunikaty te są określone w formie co najmniej jednej nazwanej reguły subskrypcji. |
| Automatyczne usuwanie bezczynności | Automatyczne usuwanie bezczynności umożliwia określenie interwału bezczynności, po którym kolejka zostanie automatycznie usunięta. Minimalny czas trwania wynosi 5 minut. |
| Wykrywanie duplikatów | Błąd może spowodować, że klient będzie miał wątpliwości co do wyniku operacji wysyłania. Wykrywanie duplikatów umożliwia nadawcy ponowne wysłanie tego samego komunikatu lub w przypadku kolejki lub tematu w celu odrzucenia wszelkich duplikatów kopii. |
| Protokoły zabezpieczeń | Usługa Service Bus obsługuje protokoły zabezpieczeń, takie jak sygnatury dostępu współdzielonego (SAS), kontrola dostępu oparta na rolach (RBAC) i tożsamości zarządzane dla zasobów platformy Azure. |
| Geograficzne odzyskiwanie po awarii | Jeśli w regionach lub centrach danych Azure dojdzie do przestoju, geograficzne odzyskiwanie po awarii umożliwia kontynuowanie przetwarzania danych w innym regionie lub centrum danych. |
| Zabezpieczenia | Usługa Service Bus obsługuje standardowe protokoły AMQP 1.0 i HTTP/REST. |
Zgodność ze standardami i protokołami
Podstawowym protokołem przewodowym dla usługi Service Bus jest protokół Advanced Messaging Queueing Protocol (AMQP) 1.0, otwarty standard ISO/IEC. Umożliwia ona klientom pisanie aplikacji, które działają względem usługi Service Bus i lokalnych brokerów, takich jak ActiveMQ lub RabbitMQ. Przewodnik po protokole AMQP zawiera szczegółowe informacje na wypadek, gdy chcesz utworzyć taką abstrakcję.
Usługa Service Bus Premium jest w pełni zgodna z interfejsem API Java/Jakarta EE Java Message Service (JMS) 2.0 .
Biblioteki klienta
W pełni obsługiwane biblioteki klienta usługi Service Bus są dostępne za pośrednictwem zestawu Azure SDK.