Scenariusze aplikacji usługi Service Fabric

Usługa Azure Service Fabric oferuje niezawodną i elastyczną platformę, na której można pisać i uruchamiać wiele typów aplikacji biznesowych i usług. Te aplikacje i mikrousługi mogą być bezstanowe lub stanowe, a ich zasoby są zrównoważone między maszynami wirtualnymi w celu zmaksymalizowania wydajności.

Unikatowa architektura usługi Service Fabric umożliwia przeprowadzanie analizy danych niemal w czasie rzeczywistym, obliczeń w pamięci, transakcji równoległych i przetwarzania zdarzeń w aplikacjach. Możesz łatwo skalować aplikacje w poziomie lub w zależności od zmieniających się wymagań dotyczących zasobów.

Aby uzyskać wskazówki dotyczące projektowania aplikacji, przeczytaj artykuł Architektura mikrousług w usłudze Azure Service Fabric i Najlepsze rozwiązania dotyczące projektowania aplikacji przy użyciu usługi Service Fabric.

Rozważ użycie platformy usługi Service Fabric dla następujących typów aplikacji:

  • Zbieranie, przetwarzanie i IoT danych: usługa Service Fabric obsługuje dużą skalę i ma małe opóźnienia za pośrednictwem usług stanowych. Może ona pomóc w przetwarzaniu danych na milionach urządzeń, w których dane urządzenia i obliczenia są kolokowane.

    Klienci, którzy zbudowali usługi IoT przy użyciu usługi Service Fabric, to PCL Construction, Citrix, ASOS, Oman Data Park, Kohler i Dover Fueling Systems.

  • Aplikacje interaktywne oparte na grach i sesjach: usługa Service Fabric jest przydatna, jeśli aplikacja wymaga odczytu i zapisu o małych opóźnieniach, takich jak gry online lub wiadomości błyskawiczne. Usługa Service Fabric umożliwia tworzenie tych interaktywnych, stanowych aplikacji bez konieczności tworzenia oddzielnego magazynu lub pamięci podręcznej. Odwiedź stronę Rozwiązania do gier platformy Azure, aby uzyskać wskazówki dotyczące projektowania dotyczące korzystania z usługi Service Fabric w usługach gier.

    Klienci, którzy zbudowali usługi gier, to Następne gry. Klienci, którzy utworzyli interaktywne sesje, to Honeywell z urządzeniem Hololens.

  • Analiza danych i przetwarzanie przepływu pracy: aplikacje, które muszą niezawodnie przetwarzać zdarzenia lub strumienie danych, korzystają ze zoptymalizowanych odczytów i zapisów w usłudze Service Fabric. Usługa Service Fabric obsługuje również potoki przetwarzania aplikacji, w których wyniki muszą być niezawodne i przekazywane do następnego etapu przetwarzania bez utraty. Te potoki obejmują systemy transakcyjne i finansowe, w których niezbędna jest spójność danych i gwarancje obliczeniowe.

    Klienci, którzy zbudowali usługi biznesowego przepływu pracy, to Zeiss Group i PCL Construction.

  • Obliczenia na danych: usługa Service Fabric umożliwia tworzenie aplikacji stanowych, które wykonują intensywne obliczenia danych. Usługa Service Fabric umożliwia kolokację przetwarzania (obliczeń) i danych w aplikacjach.

    Zwykle, gdy aplikacja wymaga dostępu do danych, opóźnienie sieci skojarzone z zewnętrzną pamięcią podręczną danych lub warstwą magazynowania ogranicza czas obliczeń. Stanowe usługi Service Fabric eliminują to opóźnienie, umożliwiając bardziej zoptymalizowane odczyty i zapisy.

    Rozważmy na przykład aplikację wykonującą wybory rekomendacji niemal w czasie rzeczywistym dla klientów z wymaganiem czasu rundy krótszym niż 100 milisekund. Charakterystyka opóźnienia i wydajności usług Service Fabric zapewnia użytkownikowi dynamiczne środowisko w porównaniu ze standardowym modelem implementacji konieczności pobierania niezbędnych danych z magazynu zdalnego. System jest bardziej dynamiczny, ponieważ obliczanie wyboru rekomendacji jest kolokowane z danymi i regułami.

    Klienci, którzy utworzyli usługi obliczeniowe, to ASOS i CCC.

  • Usługi o wysokiej dostępności: usługa Service Fabric zapewnia szybki tryb failover, tworząc wiele replik usług pomocniczych. Jeśli węzeł, proces lub pojedyncza usługa ulegnie awarii z powodu awarii sprzętowej lub innej, jedna z replik pomocniczych jest promowana do repliki podstawowej z minimalną utratą usługi.

  • Skalowalne usługi: poszczególne usługi można partycjonować, co pozwala na skalowanie stanu w poziomie w klastrze. Poszczególne usługi można również tworzyć i usuwać na bieżąco. Usługi można skalować w poziomie z kilku wystąpień na kilka węzłów do tysięcy wystąpień w wielu węzłach, a następnie skalować je ponownie w razie potrzeby. Za pomocą usługi Service Fabric można tworzyć te usługi i zarządzać ich pełnymi cyklami życia.

Analizy przypadków projektowania aplikacji

Analizy przypadków pokazujące, w jaki sposób usługa Service Fabric jest używana do projektowania aplikacji, są publikowane w scenariuszach klientów i mikrousług w witrynach platformy Azure .

Projektowanie aplikacji składających się z mikrousług bezstanowych i stanowych

Tworzenie aplikacji za pomocą ról procesów roboczych usługi Azure Cloud Services jest przykładem usługi bezstanowej. Z kolei mikrousługi stanowe zachowują stan autorytatywny poza żądaniem i jego odpowiedzią. Ta funkcja zapewnia wysoką dostępność i spójność stanu za pośrednictwem prostych interfejsów API, które zapewniają gwarancje transakcyjne wspierane przez replikację.

Usługi stanowe w usłudze Service Fabric umożliwiają wysoką dostępność dla wszystkich typów aplikacji, a nie tylko baz danych i innych magazynów danych. Jest to naturalny postęp. Aplikacje zostały już przeniesione z używania czysto relacyjnych baz danych w celu zapewnienia wysokiej dostępności do baz danych NoSQL. Teraz same aplikacje mogą mieć w sobie "gorący" stan i dane zarządzane w ramach nich w celu uzyskania dodatkowych zysków wydajności bez poświęcania niezawodności, spójności lub dostępności.

Podczas tworzenia aplikacji, które składają się z mikrousług, zwykle masz kombinację bezstanowych aplikacji internetowych (takich jak ASP.NET i Node.js) wywołujących usługi bezstanowe i stanowe usługi warstwy środkowej. Wszystkie aplikacje i usługi są wdrażane w tym samym klastrze usługi Service Fabric za pomocą poleceń wdrażania usługi Service Fabric. Każda z tych usług jest niezależna od skali, niezawodności i użycia zasobów. Ta niezależność zwiększa elastyczność i elastyczność zarządzania programowaniem i cyklem życia.

Mikrousługi stanowe upraszczają projekty aplikacji, ponieważ usuwają one potrzebę dodatkowych kolejek i pamięci podręcznych, które tradycyjnie były wymagane do spełnienia wymagań dotyczących dostępności i opóźnień wyłącznie bezstanowych aplikacji. Ponieważ usługi stanowe mają wysoką dostępność i małe opóźnienia, istnieje mniej szczegółów do zarządzania w aplikacji.

Na poniższych diagramach przedstawiono różnice między projektowaniem aplikacji bezstanowej i stanowej. Korzystając z modeli programowania Reliable Services i Reliable Actors , usługi stanowe zmniejszają złożoność aplikacji przy jednoczesnym osiągnięciu wysokiej przepływności i małych opóźnień.

Oto przykładowa aplikacja korzystająca z usług bezstanowych: Application that uses stateless services

Oto przykładowa aplikacja korzystająca z usług stanowych: Application that uses stateful services

Następne kroki