Udostępnij przez


Informacje o siatkach usług

Siatka usług to warstwa infrastruktury w aplikacji, która ułatwia komunikację między usługami. Siatki usług zapewniają możliwości, takie jak zarządzanie ruchem, odporność, zasady, zabezpieczenia, silna tożsamość i możliwość obserwowania obciążeń. Aplikacja jest oddzielona od tych funkcji operacyjnych, a siatka usług przenosi je z warstwy aplikacji i w dół do warstwy infrastruktury.

Scenariusze

W przypadku korzystania z siatki usług można włączyć takie scenariusze jak:

  • Szyfrowanie całego ruchu w klastrze: włącz wzajemne protokoły TLS między określonymi usługami w klastrze. Można to rozszerzyć na ruch przychodzący i wychodzący w sieci obwodowej i zapewnić bezpieczną domyślnie opcję bez konieczności wprowadzania zmian w kodzie aplikacji i infrastrukturze.

  • Canary i stopniowe wdrożenia: określ warunki przekierowania części ruchu do zestawu nowych usług w klastrze. Po pomyślnym teście wydania kanarka usuń routing warunkowy i stopniowo zwiększaj procent całego ruchu do nowej usługi. Ostatecznie cały ruch zostanie skierowany do nowej usługi.

  • Zarządzanie ruchem i manipulowanie nimi: utwórz zasady dotyczące usługi, która ogranicza cały ruch do wersji usługi z określonego źródła lub zasady, które stosują strategię ponawiania prób do klas awarii między określonymi usługami. Przekierowywanie ruchu w czasie rzeczywistym do nowych wersji usług podczas migracji lub rozwiązywania problemów. Wprowadzanie błędów między usługami w środowisku testowym w celu testowania odporności.

  • Możliwość obserwowania: Uzyskaj wgląd w sposób, w jaki usługi są połączone, a ruch przepływa między nimi. Zbierz metryki, logi i ślady dla całego ruchu w klastrze, w tym ruch przychodzący i wychodzący. Dodaj możliwości śledzenia rozproszonego do aplikacji.

Kryteria wyboru

Przed wybraniem siatki usług upewnij się, że rozumiesz wymagania i rozumowanie dotyczące instalowania siatki usług. Odpowiedz na następujące pytania:

  • Czy kontroler ruchu przychodzącego jest wystarczający dla moich potrzeb?: Czasami posiadanie możliwości, takiej jak testowanie A/B lub dzielenie ruchu w ruchu przychodzącym, jest wystarczające do obsługi wymaganego scenariusza. Nie dodawaj złożoności do środowiska bez żadnych korzyści.

  • Czy moje obciążenia i środowisko mogą tolerować dodatkowe obciążenia?: Wszystkie składniki wymagane do obsługi siatki usług wymagają zasobów, takich jak procesor CPU i pamięć. Wszystkie serwery proxy i powiązane z nimi kontrole polityki zwiększają opóźnienie w ruchu sieciowym. Jeśli masz obciążenia, które są bardzo wrażliwe na opóźnienia lub nie można zapewnić dodatkowych zasobów do pokrycia składników siatki usług, należy ponownie rozważyć użycie siatki usług.

  • Czy to dodaje niepotrzebnej złożoności?: Jeśli chcesz zainstalować siatkę usług, aby korzystać z funkcji, która nie jest kluczowa dla zespołów biznesowych lub operacyjnych, rozważ, czy dodatkowa złożoność instalacji, konserwacji i konfiguracji jest warta tego.

  • Czy można to zastosować w podejściu przyrostowym?: Niektóre siatki usług, które zapewniają wiele możliwości, można zastosować w bardziej przyrostowym podejściu. Zainstaluj tylko te składniki, które są niezbędne do zapewnienia sukcesu. Jeśli później okaże się, że wymagane są więcej możliwości, zapoznaj się z nimi w późniejszym czasie. Opór chęć zainstalowania wszystkiego od samego początku.

Następne kroki

Usługa Azure Kubernetes Service (AKS) oferuje oficjalnie obsługiwane dodatki dla platformy Istio i usługi Open Service Mesh:

Istnieją również siatki usług udostępniane przez projekty open source i inne firmy, które są często używane z usługą AKS. Te siatki usług nie są objęte polityką wsparcia AKS.

Aby uzyskać więcej informacji na temat krajobrazu sieci usługowej, sprawdź Layer 5's Service Mesh Landscape.

Aby uzyskać więcej informacji na temat wysiłków związanych ze standaryzacją siatki usług, zobacz: