Najlepsze rozwiązania w aplikacjach w chmurze
Te najlepsze rozwiązania mogą pomóc w tworzeniu niezawodnych, skalowalnych i bezpiecznych aplikacji w chmurze. Oferują one wytyczne i wskazówki dotyczące projektowania i wdrażania wydajnych i niezawodnych systemów, mechanizmów i podejść. Wiele z nich zawiera również przykłady kodu, których można używać z usługami platformy Azure. Praktyki dotyczą dowolnego systemu rozproszonego, niezależnie od tego, czy host korzysta z platformy Azure, czy z innej platformy w chmurze.
Wykaz praktyk
W tej tabeli wymieniono różne najlepsze rozwiązania. Kolumna
Praktyka | Streszczenie | Powiązane filary |
---|---|---|
projektowanie API | Projektowanie internetowych interfejsów API w celu obsługi niezależności platformy przy użyciu standardowych protokołów i uzgodnionych formatów danych. Podwyższ poziom ewolucji usług, aby klienci mogli odnajdywać funkcje bez konieczności modyfikowania. Zwiększ czas odpowiedzi i zapobiegaj przejściowym błędom, obsługując częściowe odpowiedzi i zapewniając sposoby filtrowania i stronicowania danych. | efektywność wydajności, doskonałość operacyjna |
Implementacja interfejsu API | Zaimplementuj interfejsy API, aby były wydajne, dynamiczne, skalowalne i dostępne. Uczyń akcje idempotentnymi, obsługuj negocjację zawartości i postępuj zgodnie ze specyfikacją protokołu HTTP. Obsługa wyjątków i wspieranie odkrywania zasobów. Podaj sposoby obsługi dużych żądań i minimalizowania ruchu sieciowego. | doskonałość operacyjna |
skalowanie automatyczne | Projektowanie aplikacji umożliwiających dynamiczne przydzielanie i zwalnianie zasobów, aby spełnić wymagania dotyczące wydajności i zminimalizować koszty. Skorzystaj z funkcji automatycznego skalowania w Azure Monitor oraz wbudowanego skalowania automatycznego dostępnego w wielu składnikach Azure. | efektywność wydajności, optymalizacja kosztów |
Prace/zadania w tle | Zaimplementuj zadania wsadowe, zadania przetwarzania i przepływy pracy jako zadania w tle. Użyj usług platformy Azure do hostowania tych zadań. Wyzwalaj zadania ze zdarzeniami lub harmonogramami i zwracaj wyniki do wywołujących zadań. | doskonałość operacyjna |
buforowanie | Popraw wydajność, kopiując dane do szybkiej pamięci, która jest blisko aplikacji. Buforuj odczytywane często, ale rzadko modyfikowane dane. Zarządzanie wygasaniem danych i współbieżnością. Zobacz, jak wypełniać bufory i używać usługi Azure Cache for Redis. | Efektywność wydajności |
sieć dostarczania treści | Użyj sieci dostarczania zawartości (CDN), aby efektywnie dostarczać zawartość internetową użytkownikom i zmniejszać obciążenie aplikacji internetowych. Pokonaj wyzwania związane z wdrażaniem, przechowywaniem wersji, zabezpieczeniami i odpornością. | wydajność i efektywność działania |
partycjonowanie danych | Partycjonowanie danych w celu zwiększenia skalowalności, dostępności i wydajności oraz zmniejszenia kosztów rywalizacji i magazynowania danych. Używaj wydajnych sposobów partycjonowania poziomego, pionowego i funkcjonalnego. | efektywność operacyjna, optymalizacja kosztów |
Strategie partycjonowania danych (według usługi) | Partycjonowanie danych w usługach Azure SQL Database i Azure Storage, takich jak Azure Table Storage i Azure Blob Storage. Fragmentuj dane, aby dystrybuować obciążenia, zmniejszyć opóźnienia i obsługiwać skalowanie w poziomie. | efektywność działania, optymalizacja kosztów |
zachowywanie nazwy hosta | Dowiedz się, dlaczego ważne jest zachowanie oryginalnej nazwy hosta HTTP między serwerem proxy a aplikacją internetową działającą w tle oraz jak zaimplementować to zalecenie dla najpopularniejszych usług Azure. | niezawodność |
Zagadnienia dotyczące kodowania komunikatów | Użyj komunikatów asynchronicznych do wymiany informacji między składnikami systemu. Wybierz strukturę ładunku, format kodowania i bibliotekę serializacji, która najlepiej współdziała z danymi. | Bezpieczeństwo |
monitorowanie i diagnostyka | Śledź kondycję, użycie i wydajność systemu za pomocą potoku monitorowania i diagnostyki. Przekształcanie danych monitorowania w alerty, raporty i wyzwalacze, które pomagają w różnych sytuacjach. Przykłady obejmują wykrywanie i rozwiązywanie problemów, wykrywanie potencjalnych problemów, spełnianie gwarancji wydajności i spełnianie wymagań inspekcji. | doskonałość operacyjna |
wskazówki dotyczące ponawiania prób dla określonych usług | Używanie, dostosowywanie i rozszerzanie mechanizmów ponawiania oferowanych przez usługi platformy Azure i zestawy SDK klientów. Opracowanie systematycznego i niezawodnego podejścia do zarządzania tymczasowymi problemami z połączeniami, operacjami i zasobami. | niezawodność |
obsługa błędów przejściowych | Obsługa przejściowych błędów spowodowanych niedostępnymi sieciami lub zasobami. Przezwyciężyć wyzwania podczas opracowywania odpowiednich strategii ponawiania prób. Unikaj duplikowania warstw kodu ponawiania próby i innych antywzorzeców. | niezawodność |