Queue

Bezserwerowa usługa przesyłania komunikatów

Oracle Cloud Infrastructure Queue to usługa umożliwiająca asynchroniczną (rozdzieloną) komunikację w sposób bezserwerowy. OCI Queue obsługuje duże ilości danych transakcyjnych, które wymagają niezależnego przetwarzania bez utraty lub duplikacji. Usługa wykorzystuje punkty końcowe oparte na otwartych standardach (STOMP i OpenAPI-defined REST) do komunikacji z dowolnym klientem.

OCI Queue — omówienie (12:04)

OCI Queue — funkcje

OCI Queue obejmuje następujące funkcje:

  • Skalowalność — OCI Queue obsługuje nieoczekiwane gwałtowne skoki ruchu, automatycznie dodając zasoby w oparciu o zapotrzebowanie i rozdzielając obciążenia między dostępnych konsumentów.
  • Wysoka przepustowość — OCI Queue może obsługiwać niemal nieograniczoną liczbę transakcji na sekundę na jedną akcję interfejsu API.
  • Co najmniej jedno dostarczenie — usługa gwarantuje, że komunikat zostanie dostarczony do konsumenta co najmniej raz, chyba że zostanie usunięty lub wygaśnie.
  • Kolejność — komunikaty są dostarczane do konsumentów w tej samej kolejności, w jakiej są otrzymywane od producentów. Czasami komunikaty mogą być jednak dostarczane w innej kolejności, aby uniknąć dodatkowego opóźnienia związanego z jej korektą.
  • Blokowanie komunikatów — komunikat jest blokowany w celu uniknięcia podwójnych odczytów podczas przetwarzania przez konsumenta lub do czasu zakończenia okresu widoczności.
  • Masowa obsługa komunikatów — wysyłanie, odbieranie, aktualizacja lub usuwanie komunikatów w partiach liczących do 20 komunikatów, aby zoptymalizować koszty.
  • Próby dostarczenia i kolejki DLQ — można określić liczbę prób dostarczenia komunikatu. Jeśli komunikatu nie można dostarczyć, może on zostać wysłany do kolejki DLQ. Kolejki DLQ pozwalają odizolować komunikaty w celu rozwiązania problemów.
  • Rzetelność przetwarzania komunikatów — komunikaty można publikować i pobierać z losowego kanału, zwiększając w ten sposób rzetelność i chroniąc przed nagłymi wzrostami wolumenu.
  • Wybór komunikatów — komunikaty można dostarczać konsumentom zainteresowanym wyłącznie określonymi typami komunikatów lub komunikatami pochodzącymi od określonego producenta.
  • Tymczasowe miejsca docelowe — kanały umożliwiają korzystanie z wzorca przesyłania wiadomości żądanie-odpowiedź poprzez wysyłanie wiadomości przez krótkotrwałe, tymczasowe kanały w ramach kolejki. Kanały są tworzone na bieżąco, bez konieczności jawnego tworzenia ani usuwania wywołań API.
  • Szyfrowanie — komunikaty są szyfrowane od nadawcy do odbiorcy.
  • Protokół STOMP — STOMP to otwarty protokół przeznaczony do przesyłania komunikatów, który może zwiększyć wydajność, ponieważ uwierzytelnianie i autoryzacja są wykonywane raz na połączenie, a nie na żądanie HTTP.
  • Interfejsy API REST — usługi OCI Queue można używać przy użyciu prawdziwych interfejsów API REST obsługiwanych zgodnie ze specyfikacją OpenAPI.
Diagram funkcji OCI Queue (opis poniżej)
Umożliwia skalowanie: OCI Queue może umożliwiać skalowanie poprzez przydzielenie dowolnej liczby konsumentów odczytujących z kolejki. Umożliwia rozdzielanie: klient usługi Queue umieszcza komunikaty w kolejce zdefiniowanej w określonym celu, ale nie wie, kim będzie konsument oraz gdzie i jak jest wdrożony. Umożliwia niezawodne dostarczanie: gdy konsument kolejki nie może przetworzyć komunikatu z kolejki, komunikat nie zniknie, ale zostanie umieszczony w kolejce DLQ w celu naprawy.