Udostępnij za pośrednictwem


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 posiadanym przez społeczność otwartoźródłowym Eksploratorem Usługi Service Bus

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 konfiguracji dostarczonej w formacie 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.
  • Nie obsługuje on operacji zarządzania na bieżąco za pośrednictwem zestawu SDK po stronie klienta.
  • Gniazda sieci Web 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. Emulator usługi Service Bus nie jest używany w przypadku 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 chmurowa usługa Service Bus, emulator zapewnia następujące limity wykorzystania:

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 1000 Tak
Liczba filtrów SQL 20 Tak
Długość warunku filtru lub ciągu akcji reguły 1024 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

Zmiany konfiguracji limitu przydziału

Domyślnie emulator jest uruchamiany z plikiem konfiguracji config.json . Przydziały skojarzone z usługą Service Bus można skonfigurować, edytując ten plik w następujący sposób, w zależności od potrzeb:

  • 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.

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