{"id":4084,"date":"2025-07-03T18:44:26","date_gmt":"2025-07-03T15:44:26","guid":{"rendered":"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/envoy-proxy\/"},"modified":"2025-07-03T18:47:18","modified_gmt":"2025-07-03T15:47:18","slug":"envoy-proxy","status":"publish","type":"docs","link":"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/envoy-proxy\/","title":{"rendered":"Envoy Proxy (\u0412\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432)"},"content":{"rendered":"\n<p><strong>Envoy Proxy<\/strong> \u2014 \u044d\u0442\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439, \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 L4\/L7-<a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/proxy-server\/\" data-internallinksmanager029f6b8e52c=\"210\" title=\"Proxy Server (\u041f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440)\">\u043f\u0440\u043e\u043a\u0441\u0438<\/a> \u0438 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0441\u043b\u043e\u0439, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u041e\u043d \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0439 \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u0438. \u0421\u0435\u0433\u043e\u0434\u043d\u044f Envoy \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u043a\u0441\u0438-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/istio\/\" data-internallinksmanager029f6b8e52c=\"366\" title=\"Istio (\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Service Mesh)\">Service Mesh<\/a>-\u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <strong>Istio<\/strong>, <strong>Consul Connect<\/strong>, <strong>Kuma<\/strong> \u0438 <strong>AWS App Mesh<\/strong>.<\/p>\n\n\n\n<p>Envoy \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0440\u043e\u043b\u0438 <strong>sidecar-\u043f\u0440\u043e\u043a\u0441\u0438<\/strong>: \u043e\u043d \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/pod-v-kubernetes\/\" data-internallinksmanager029f6b8e52c=\"348\" title=\"Pod (\u0432 Kubernetes)\">pod<\/a> <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/kubernetes\/\" data-internallinksmanager029f6b8e52c=\"259\" title=\"Kubernetes (K8s)\">Kubernetes<\/a> \u0438 \u0431\u0435\u0440\u0451\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438. \u0412 \u044d\u0442\u043e\u0439 \u0440\u043e\u043b\u0438 \u043e\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a, \u043d\u043e \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c, \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/fault-tolerance\/\" data-internallinksmanager029f6b8e52c=\"359\" title=\"Fault Tolerance (\u041e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c)\">\u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c<\/a> \u2014 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e \u0434\u043b\u044f \u0441\u0430\u043c\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Envoy<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Load Balancing (L4\/L7)<\/strong> \u2014 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 upstream-\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439 (round-robin, least-request, random);<\/li>\n\n\n\n<li><strong>Health Checking<\/strong> \u2014 \u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u0430;<\/li>\n\n\n\n<li><strong>Service Discovery<\/strong> \u2014 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/dns\/\" data-internallinksmanager029f6b8e52c=\"199\" title=\"DNS (Domain Name System)\">DNS<\/a>, xDS <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/api\/\" data-internallinksmanager029f6b8e52c=\"226\" title=\"API (Application Programming Interface)\">API<\/a>, Consul \u0438 Kubernetes;<\/li>\n\n\n\n<li><strong>Traffic Routing<\/strong> \u2014 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c, \u043f\u0443\u0442\u044f\u043c, SNI, \u0432\u0435\u0440\u0441\u0438\u0438, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c;<\/li>\n\n\n\n<li><strong>mTLS \u0438 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/tls\/\" data-internallinksmanager029f6b8e52c=\"220\" title=\"TLS (Transport Layer Security)\">TLS<\/a> termination<\/strong> \u2014 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439;<\/li>\n\n\n\n<li><strong>Rate Limiting \u0438 Retry Policy<\/strong> \u2014 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438;<\/li>\n\n\n\n<li><strong>Observability<\/strong> \u2014 \u044d\u043a\u0441<a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/port\/\" data-internallinksmanager029f6b8e52c=\"225\" title=\"Port (\u041f\u043e\u0440\u0442 )\">\u043f\u043e\u0440\u0442<\/a> \u043c\u0435\u0442\u0440\u0438\u043a (statsd, <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/prometheus\/\" data-internallinksmanager029f6b8e52c=\"355\" title=\"Prometheus (\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432)\">Prometheus<\/a>), <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/traceroute\/\" data-internallinksmanager029f6b8e52c=\"325\" title=\"Traceroute\">\u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430<\/a> (Zipkin, Jaeger, Datadog) \u0438 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435;<\/li>\n\n\n\n<li><strong>Dynamic config via xDS API<\/strong> \u2014 \u0433\u043e\u0440\u044f\u0447\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432, \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u0420\u043e\u043b\u044c Envoy \u0432 Kubernetes \u0438 Service Mesh<\/h3>\n\n\n\n<p>\u0412 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes Envoy \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 <strong>Service Mesh<\/strong>, \u0433\u0434\u0435 \u043e\u043d:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a sidecar-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0440\u044f\u0434\u043e\u043c \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c;<\/li>\n\n\n\n<li>\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 <strong>\u0442\u0440\u0430\u043d\u0441\u043f\u0430\u0440\u0435\u043d\u0442\u043d\u0443\u044e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044e<\/strong> (\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f \u0441 <code>localhost<\/code>, Envoy \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435);<\/li>\n\n\n\n<li>\u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 <strong>\u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/strong>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 mTLS, \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043a\u043e\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f;<\/li>\n\n\n\n<li>\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u043b\u043e\u0433\u0438 \u0434\u043b\u044f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Istio<\/strong>: Envoy \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u043c\u0438;<\/li>\n\n\n\n<li><strong>Consul Connect<\/strong>: Envoy \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c sidecar \u0438\u043b\u0438 standalone-\u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a\u043e\u043c \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438;<\/li>\n\n\n\n<li><strong>Standalone Gateway<\/strong>: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a API-\u0448\u043b\u044e\u0437 \u0438\u043b\u0438 edge-proxy (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u0434 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/kubernetes-ingress\/\" data-internallinksmanager029f6b8e52c=\"363\" title=\"Kubernetes Ingress (\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 Kubernetes)\">Kubernetes ingress<\/a>);<\/li>\n\n\n\n<li><strong>Hybrid architectures<\/strong>: Envoy \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c Kubernetes, <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/virtual-machine\/\" data-internallinksmanager029f6b8e52c=\"260\" title=\"VM (Virtual Machine)\">VM<\/a> \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 API \u0432 \u0435\u0434\u0438\u043d\u0443\u044e mesh-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u043e\u0447\u0435\u043c\u0443 Envoy \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0412\u044b\u0441\u043e\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/strong> \u2014 C++-\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u043e\u0434 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/scalability\/\" data-internallinksmanager029f6b8e52c=\"246\" title=\"Scalability (\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c)\">\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c<\/a>;<\/li>\n\n\n\n<li><strong>\u041c\u043e\u0449\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/strong> \u2014 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 WASM;<\/li>\n\n\n\n<li><strong>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u043e\u0441\u0442\u044c<\/strong> \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0447\u0435\u0440\u0435\u0437 xDS-\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b;<\/li>\n\n\n\n<li><strong>\u0428\u0438\u0440\u043e\u043a\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430<\/strong> \u2014 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 CNCF, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u0443 Google, Lyft, Stripe, eBay, Square, Airbnb \u0438 \u0434\u0440\u0443\u0433\u0438\u0445.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Envoy Proxy \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u043a\u0441\u0438, \u0430 <strong>\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0441\u043b\u043e\u0439<\/strong> \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041e\u043d \u0434\u0430\u0451\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u043d\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0443 \u0441\u0430\u043c\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Envoy (static_resources)<\/h3>\n\n\n\n<p>\u0424\u0430\u0439\u043b: <code>envoy.yaml<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>static_resources:\n  listeners:\n    - name: listener_http\n      address:\n        socket_address:\n          address: 0.0.0.0\n          port_value: 8080\n      filter_chains:\n        - filters:\n            - name: envoy.filters.network.http_connection_manager\n              typed_config:\n                \"@type\": type.googleapis.com\/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n                stat_prefix: ingress_http\n                route_config:\n                  name: local_route\n                  virtual_hosts:\n                    - name: backend\n                      domains: &#91;\"*\"]\n                      routes:\n                        - match: { prefix: \"\/\" }\n                          route: { cluster: backend_service }\n                http_filters:\n                  - name: envoy.filters.http.router\n  clusters:\n    - name: backend_service\n      connect_timeout: 0.25s\n      type: logical_dns\n      dns_lookup_family: V4_ONLY\n      load_assignment:\n        cluster_name: backend_service\n        endpoints:\n          - lb_endpoints:\n              - endpoint:\n                  address:\n                    socket_address:\n                      address: backend.local\n                      port_value: 80\n<\/code><\/pre>\n\n\n\n<p>\u042d\u0442\u043e\u0442 \u043a\u043e\u043d\u0444\u0438\u0433 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 <code>backend.local:80<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Envoy \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 (xDS)<\/h3>\n\n\n\n<p>xDS \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 API-\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 control plane (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Istio \u0438\u043b\u0438 custom controller) \u043c\u043e\u0436\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>API<\/th><th>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><\/thead><tbody><tr><td><strong>LDS<\/strong><\/td><td>Listeners<\/td><\/tr><tr><td><strong>CDS<\/strong><\/td><td>Clusters (\u043d\u0430\u0431\u043e\u0440\u044b backend&#8217;\u043e\u0432)<\/td><\/tr><tr><td><strong>RDS<\/strong><\/td><td>Routes (HTTP\/<a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/https\/\" data-internallinksmanager029f6b8e52c=\"221\" title=\"HTTPS (Hyper Text Transfer Protocol Secure)\">HTTPS<\/a> \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b)<\/td><\/tr><tr><td><strong>EDS<\/strong><\/td><td>Endpoints (<a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/ip-adres\/\" data-internallinksmanager029f6b8e52c=\"204\" title=\"IP-\u0430\u0434\u0440\u0435\u0441 (Internet Protocol)\">IP<\/a>\/\u043f\u043e\u0440\u0442 \u0445\u043e\u0441\u0442\u043e\u0432)<\/td><\/tr><tr><td><strong>SDS<\/strong><\/td><td>Secrets (TLS, mTLS <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/certificate-pinning\/\" data-internallinksmanager029f6b8e52c=\"284\" title=\"Certificate Pinning (\u0417\u0430\u0449\u0438\u0442\u0430 \u043a\u0430\u043d\u0430\u043b\u0430 \u0441\u0432\u044f\u0437\u0438)\">\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b<\/a>)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Envoy \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0443 control plane \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0432\u043e\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u2014 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435: Envoy vs NGINX \u043a\u0430\u043a L7-\u043f\u0440\u043e\u043a\u0441\u0438 \u0438\u043b\u0438 Ingress<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430<\/th><th><strong>Envoy Proxy<\/strong><\/th><th><strong>NGINX \/ NGINX Plus<\/strong><\/th><\/tr><\/thead><tbody><tr><td>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/td><td>\u0412\u044b\u0441\u043e\u043a\u0430\u044f (C++, event-driven)<\/td><td>\u0412\u044b\u0441\u043e\u043a\u0430\u044f (C, event-loop)<\/td><\/tr><tr><td>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/td><td>\u0414\u0430<\/td><td>\u0414\u0430<\/td><\/tr><tr><td>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (xDS)<\/td><td>\u0414\u0430 (\u0447\u0435\u0440\u0435\u0437 gRPC + API)<\/td><td>\u0422\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 reload \/ nginx reload<\/td><\/tr><tr><td>\u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c (WASM)<\/td><td>\u0414\u0430 (WebAssembly)<\/td><td>\u041d\u0435\u0442 (\u0432 Open Source, \u0435\u0441\u0442\u044c \u0432 Plus)<\/td><\/tr><tr><td>Observability<\/td><td>\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, tracing, logging<\/td><td>\u0415\u0441\u0442\u044c, \u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u0432 open source<\/td><\/tr><tr><td>Role \u0432 Service Mesh<\/td><td>\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 sidecar-\u043f\u0440\u043e\u043a\u0441\u0438<\/td><td>\u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f<\/td><\/tr><tr><td>\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b<\/td><td>HTTP\/1.1, <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/http-2\/\" data-internallinksmanager029f6b8e52c=\"267\" title=\"HTTP\/2 (Hypertext Transfer Protocol)\">HTTP\/2<\/a>, gRPC, TLS\/mTLS<\/td><td>HTTP\/1.1, HTTP\/2, <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/ssl\/\" data-internallinksmanager029f6b8e52c=\"219\" title=\"SSL (Secure Sockets Layer)\">SSL<\/a> (\u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e)<\/td><\/tr><tr><td>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 HTTP\/3<\/td><td>\u0414\u0430<\/td><td>\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u043e (\u0432 Plus\/Dev-\u0431\u0438\u043b\u0434\u0430\u0445)<\/td><\/tr><tr><td>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/td><td>Admin API, metrics<\/td><td>\u041d\u0435\u0442 (\u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043b\u043e\u0433\u0438\/\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>\u0412\u044b\u0432\u043e\u0434<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>NGINX<\/strong> \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 ingress-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0438\u043b\u0438 <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/api-gateway\/\" data-internallinksmanager029f6b8e52c=\"343\" title=\"API Gateway (API-\u0448\u043b\u044e\u0437)\">API Gateway<\/a>, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0430.<\/li>\n\n\n\n<li><strong>Envoy<\/strong> \u2014 \u0432\u044b\u0431\u043e\u0440 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c, \u0433\u0434\u0435 \u0432\u0430\u0436\u043d\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u043e\u0441\u0442\u044c, <a href=\"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/high-availability\/\" data-internallinksmanager029f6b8e52c=\"237\" title=\"High Availability, HA (\u0412\u044b\u0441\u043e\u043a\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c)\">\u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c<\/a>, \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430.<\/li>\n<\/ul>\n","protected":false},"featured_media":0,"parent":2927,"menu_order":168,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-4084","docs","type-docs","status-publish","hentry"],"comment_count":0,"_links":{"self":[{"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs\/4084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/comments?post=4084"}],"version-history":[{"count":1,"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs\/4084\/revisions"}],"predecessor-version":[{"id":4086,"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs\/4084\/revisions\/4086"}],"up":[{"embeddable":true,"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs\/2927"}],"next":[{"title":"Blue-Green Deployment (\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439)","link":"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/blue-green-deployment\/","href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs\/4092"}],"prev":[{"title":"Redundancy (\u0418\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u0418\u0422-\u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435)","link":"https:\/\/cloudvps.by\/community\/docs\/glossarij\/terminy\/redundancy\/","href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/docs\/4058"}],"wp:attachment":[{"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/media?parent=4084"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/cloudvps.by\/community\/wp-json\/wp\/v2\/doc_tag?post=4084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}