Omówienie emulatora usługi Azure Service Bus

Emulator usługi Azure Service Bus oferuje lokalne środowisko programistyczne dla usługi Service Bus. Możesz użyć emulatora do tworzenia i testowania kodu względem usługi w izolacji, bez zakłóceń w chmurze.

Świadczenia

Podstawowe zalety korzystania z emulatora to:

  • Programowanie lokalne: emulator zapewnia lokalne środowisko programistyczne, dzięki czemu możesz pracować w trybie offline i uniknąć opóźnienia sieci.
  • Efektywność kosztowa: dzięki emulatorowi możesz przetestować aplikacje bez ponoszenia kosztów użycia chmury.
  • Izolowane środowisko testowe: możesz przetestować kod w izolacji, aby upewnić się, że inne działania w chmurze nie wpływają na testy.
  • Zoptymalizowana pętla programowania wewnętrznego: możesz użyć emulatora do szybkiego tworzenia prototypów i testowania aplikacji przed ich wdrożeniem w chmurze.

Uwaga

Emulator usługi Service Bus jest dostępny w ramach postanowień licencyjnych dotyczących oprogramowania firmy Microsoft.

Emulator usługi Service Bus nie jest zgodny z należącym do społeczności narzędziem Service Bus Explorer.

Funkcje

Emulator udostępnia następujące funkcje:

  • Wdrożenie konteneryzowane: działa jako kontener platformy Docker (oparty na systemie Linux).
  • Zgodność międzyplatformowa: można jej używać na dowolnej platformie, w tym w systemach Windows, macOS i Linux.
  • Możliwość konfigurowania: liczbę jednostek usługi Service Bus można zarządzać przy użyciu klienta administracyjnego usługi ServiceBus lub dostarczonej konfiguracji JSON.
  • Obsługa przesyłania strumieniowego: obsługuje komunikaty przesyłane strumieniowo przy użyciu protokołu Advanced Message Queuing Protocol (AMQP).
  • Możliwość obserwowania: zapewnia funkcje obserwacji, w tym konsolę i rejestrowanie plików.

Znane ograniczenia

Bieżąca wersja emulatora ma następujące ograniczenia:

  • Nie może ona przesyłać strumieniowo komunikatów przy użyciu protokołu JMS.
  • Partycjonowane jednostki nie są zgodne z emulatorem.
  • Gniazda internetowe protokołu AMQP nie są obsługiwane. TCP dla AMQP jest jedynym obsługiwanym typem transportu.

Uwaga

Po ponownym uruchomieniu kontenera dane i jednostki nie są utrwalane w emulatorze.

Różnice w porównaniu z usługą w chmurze

Ponieważ emulator usługi Service Bus jest przeznaczony tylko do celów programistycznych i testowych, istnieją różnice funkcjonalne między emulatorem a usługą w chmurze.

Emulator nie obsługuje tych funkcji wysokiego poziomu:

  • Funkcje platformy Azure, takie jak integracja z siecią wirtualną, integracja identyfikatora Microsoft Entra, dzienniki aktywności i portal interfejsu użytkownika
  • Możliwości automatycznego skalowania
  • Możliwości odzyskiwania po katastrofach geograficznych
  • Obsługa dużych komunikatów
  • Metryki wizualizacji i alerty

Uwaga

Emulator jest przeznaczony dla scenariuszy programowania i testowania, w szczególności w przypadku przypadków użycia testów sekwencyjnych. Nie używaj emulatora usługi Service Bus dla obciążeń produkcyjnych, ponieważ nie oferuje umowy SLA.

Nie udostępniamy żadnej oficjalnej pomocy technicznej dla emulatora. Zgłoś wszelkie problemy lub sugestie w repozytorium GitHub instalatora emulatora.

Przydziały użycia

Podobnie jak usługa w chmurze usługi Service Bus, emulator zapewnia następujące limity przydziału użycia:

Własność Wartość maksymalna Konfigurowalne przez użytkownika w określonych granicach
Liczba obsługiwanych przestrzeni nazw 1 Nie.
Liczba jednostek (kolejek/tematów) w przestrzeni nazw 50 Tak
Liczba subskrypcji na temat 50 Tak
Liczba filtrów korelacji na temat 1 000 Tak
Liczba filtrów SQL na temat 70 Tak
Długość warunku filtru lub ciągu akcji reguły 1,024 Tak
Liczba wyrażeń na akcję reguły 32 Tak
Liczba współbieżnych połączeń z przestrzenią nazw 10 Tak
Liczba współbieżnych żądań odbierania w jednostce (kolejka/temat) lub jednostce subskrypcji 200 Tak
Rozmiar komunikatu 256 KB Nie.
Rozmiar kolejki lub tematu 100 MB Nie.
Czas wygaśnięcia wiadomości 1 godz. Tak

Limit filtrów SQL obowiązuje dla każdego tematu i jest współdzielony między wszystkie subskrypcje na ten temat.

Tworzenie jednostek i zarządzanie nimi w emulatorze usługi Service Bus

Jednostki usługi Service Bus — takie jak kolejki i tematy — można tworzyć i zarządzać nimi przy użyciu klienta administracyjnego usługi Service Bus. Domyślnie emulator jest uruchamiany z plikiem konfiguracji config.json . Możesz również wprowadzić deklaratywne zmiany w pliku konfiguracji zgodnie z potrzebami:

  • Encje: możesz dodać więcej encji usługi Service Bus zgodnie z obsługiwanymi limitami.
  • Rejestrowanie: emulator obsługuje rejestrowanie w konsoli, w pliku lub obu tych plikach. Możesz wybrać zgodnie z preferencjami osobistymi.

Ważne

Przed uruchomieniem emulatora należy podać wszelkie zmiany w konfiguracji JSON. Zmiany nie są honorowane na bieżąco. Aby zmiany zaczęły obowiązywać, należy ponownie uruchomić kontener.

Podczas inicjowania emulatora ustawienia zdefiniowane w pliku konfiguracji zastępują wszystkie jednostki utworzone wcześniej lub zmodyfikowane przy użyciu klienta administracyjnego usługi Service Bus.

Nie można zmienić nazwy wstępnie zdefiniowanej przestrzeni nazw (name) w pliku konfiguracji.

Dzienniki debugowania

Podczas testowania dzienniki konsoli lub plików ułatwiają debugowanie nieoczekiwanych błędów. Aby przejrzeć dzienniki:

  • Dzienniki konsoli: w interfejsie użytkownika pulpitu platformy Docker wybierz nazwę kontenera.
  • Dzienniki plików: w kontenerze przejdź do folderu /home/app/EmulatorLogs.

Testowanie lokalne przy użyciu emulatora usługi Azure Service Bus

Przykłady emulatora usługi Service Bus