Envoy to wysokowydajny, otwarty proxy brzegowy i serwisowy, zaprojektowany z myślą o aplikacjach chmurowych. Został pierwotnie stworzony przez firmę Lyft i jest częścią większego ekosystemu narzędzi, które wspierają architektury mikroserwisowe.
Envoy jest szeroko stosowany w środowiskach service mesh i odgrywa kluczową rolę w zarządzaniu komunikacją między usługami.
Kluczowe cechy Envoy
Load Balancing na warstwie 7:
- Envoy działa na warstwie aplikacji (warstwa 7), co pozwala na zaawansowe routowanie i balansowanie obciążenia na podstawie atrybutów aplikacyjnych (takich jak nagłówki HTTP)
Odkrywanie usług:
- Obsługuje dynamiczne odkrywanie usług, co oznacza, że może automatycznie znajdować dostępne usługi w klastrze
Zarządzanie ruchem:
- Envoy umożliwia zaawansowane routowanie ruchu, w tym wydania kanaryjne, testy A/B i dzielenie ruchu
Obserwowalność:
- Zapewnia obszerną funkcjonalność logowania, metryk i śledzenia, pomagając programistom zrozumieć i monitorować zachowanie ich usług
Powtórzenia i limity czasowe:
- Envoy ma wbudowaną obsługę konfigurowania powtórzeń, limitów czasowych i zabezpieczeń obwodowych, co czyni go odpornym na przejrzyste awarie
Bezpieczeństwo:
- Obsługuje zakończenie TLS i może egzekwować polityki uwierzytelniania i autoryzacji
Limitowanie przepustowości:
- Envoy może być skonfigurowany w celu ograniczenia liczby żądań do usług, co pomaga zapobiegać nadużyciom i zarządzać obciążeniem
Rozszerzalność:
- Posiada elastyczną architekturę, która pozwala programistom na rozszerzanie jego funkcjonalności za pomocą niestandardowych filtrów i wtyczek
Envoy w architekturze Service Mesh
W architekturze service mesh, Envoy często działa jako proxy boczne, wdrażane obok usług aplikacyjnych. Takie podejście pozwala Envoy na zarządzanie całym ruchem przychodzącym i wychodzącym dla danej usługi, co ułatwia:
- Komunikację między usługami: Envoy zajmuje się złożonością komunikacji między usługami, w tym powtórkami, balansowaniem obciążenia i monitorowaniem
- Egzekwowanie polityk: Polityki bezpieczeństwa i ruchu mogą być egzekwowane na poziomie proxy
- Obserwowalność: Metryki i dane śledzące mogą być zbierane dla każdej instancji usługi, co daje wgląd w wydajność systemu
Envoy a inne proxy
Choć Envoy jest potężnym narzędziem, istnieją również inne proxy i rozwiązania service mesh, takie jak:
- Istio: Popularna sieć usługowa, która używa Envoy jako swojego proxy bocznego. Istio dodaje dodatkowe możliwości zarządzania ruchem, bezpieczeństwem i obserwowalnością
- Nginx: Szeroko stosowany serwer internetowy i proxy odwrotne, które również może wykonywać balansowanie obciążenia i routowanie ruchu, ale generalnie działa na poziomie 4 lub 7 bez zaawansowanych funkcji Envoy
- HAProxy: Inny balancer obciążenia i serwer proxy, który doskonale radzi sobie z balansowaniem obciążenia na poziomie 4 i 7
Przykłady zastosowania
- Mikroserwisy: Envoy doskonale nadaje się do architektur mikroserwisowych, gdzie może zarządzać złożonymi wzorcami komunikacji między usługami
- Bramki API: Envoy może pełnić funkcję bramki API, kierując żądania do usług backendowych i oferując funkcje takie jak limitowanie przepustowości i uwierzytelnianie
- Hybrydowa chmura: Organizacje korzystające zarówno z usług lokalnych, jak i chmurowych mogą wykorzystać Envoy do zarządzania ruchem w różnych środowiskach
Jak zacząć z Envoy
Aby rozpocząć pracę z Envoy:
- Instalacja: Można zainstalować Envoy za pomocą menedżerów pakietów lub skompilować go ze źródła. Dostępne są również obrazy Dockera do wdrożeń kontenerowych
- Konfiguracja: Envoy używa plików konfiguracyjnych w formacie YAML do definiowania słuchaczy, klastrów, tras i filtrów. Konfiguracja może być złożona, dlatego ważne jest, aby zapoznać się z dokumentacją
- Integracja: Envoy można zintegrować z istniejącymi platformami orkiestracji, takimi jak Kubernetes, co pozwala na automatyczne odkrywanie usług i zarządzanie nimi
Podsumowanie
Envoy to potężne narzędzie do zarządzania komunikacją między usługami w aplikacjach chmurowych. Jego zaawansowane funkcje, w tym balansowanie obciążenia, zarządzanie ruchem, obserwowalność i bezpieczeństwo, czynią go istotnym elementem nowoczesnych architektur mikroserwisowych i sieci usługowych.
Co to znaczy Envoy services?
Dowiedz się co oznacza „Envoy services” razem z opisem definicji tego wyrażenia. Jak stosować ten zwrot, oraz jak się nim poprawnie posługiwać.
O tym, co to jest Envoy services przeczytasz w tym materiale.
tagi:
- co to znaczy
- co jest znaczy
- co oznacza
Wszystkie publikowane materiały są weryfikowane przez naszą redakcję.