áááºá¹ááá¬áá« âáá¶ááááºááá¯áᬠáá¬áá²âá âáá¬ááŒá±á¬áá·áº ááá¯á¡ááºáá¬áá²â ááá¯áá²á· áá±ážááœááºážááœá±ááᯠááŒá±áá±ážáá²á· áá±á¬ááºážáá«ážááá¯áá±ážáá«á ááŸáá·áº "áááºááŸá¬á áááºááááºáááºážá"
áá®ááá¬áá²
Envoy ááẠááŒáá·áºáá¬ážáá±á¬á áœááºážáá±á¬ááºáááºááŸáá·áº áááŸáááá¯ááºááŸá¯á¡áá±á«áº á¡á¬áá¯á¶á áá¯ááºáá¬ážááá·áº L4-L7 balancer ááŒá áºáááºá áá áºáááºááœááºá áááºážááẠáááºážááá¯á·ááŸáá·áº á áœááºážáá±á¬ááºáááºááœáẠááŸááºááá¯ááºáá±á¬ nginx ááŸáá·áº haproxy ááá¯á·á áá áºáááºážáá áºáá¯á¶á¡á¬ážááŒáá·áº ááŒá áºáááºá á¡ááŒá¬ážáá áºáááºááœááºá áááºážááẠmicroservice áááá¯áá¬ááá¯ááá¯ááá¯áŠážáááºáá¬ážááŒá®áž zuul ááá¯á·ááá¯áẠtraefik áá²á·ááá¯á·áá±á¬ java ááŸáá·áº go balancers áá»á¬ážááẠááá¯ááá¯ážáá±á¬áá¯ááºáá±á¬ááºááá¯ááºá áœááºážáááŸááá«á
haproxy/nginx/envoy á ááŸáá¯ááºážááŸááºááá¬ážá áááºážááẠááááá¡ááŸááºááá¬ážáᯠááá°ááá±á¬áºáááºáž áá±áá°áá»áá¯ááºáá¯á¶ááœáŸá¬ááá¯áá±ážáááºá
nginx
haproxy
ááá¯á
ááŸá±áá»
áá±á¬ááºááŒá®ážááŒáá¯á·
github ááœááºááŒááºáá»á¬áž
11.2k/ááŸááº
1.1k/ááŸááº
12.4k
27.6k
ááœááºáá±ážáá¬ážáááºá
C
C
C ++
go
API ááá¯
á¡áááºáá°áá»áŸá
socket only/push
áá±áá¬áá±áá¬ááº/ááœá²
ááœá²áá«
áááºááŒáœáá±á¬áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯
á¡áááºáá°áá»áŸá
áá¯ááºáá²á·
áá¯ááºáá²á·
áá¯ááºáá²á·
ááŒá±áá¬áá¶ááŒááºážááá¯ááœáá·áºáá«á
ááŒááºá ááááºá¡ááº
á¡áááºáá°áá»áŸá
áá¯ááºáá²á·
áá¯ááºáá²á·
J.W.T.
ááŒááºá ááááºá¡ááº
á¡áááºáá°áá»áŸá
áá¯ááºáá²á·
á¡áááºáá°áá»áŸá
extension ááá¯
Lua/C
Lua/C
Lua/C++
á¡áááºáá°áá»áŸá
áá¬ááœá±á¬áá»á·
á€áááºááŸá¬ áá°áááºááá±á¬áá»ááºáá
áºáá¯ááŒá
áºááŒá®ážá á¡áá»áá¯á·ááŸá¬ á¡á
á±á¬ááá¯ááºáž alpha ááœáẠáá»á±á¬ááºáá¯á¶ážáá±ááá·áºá¡áá¬áá»á¬ážá
áœá¬ááŸááááºá áá«áá±ááá·áº ááá¯á
ááŸá±áá»áááºážááááºááœááºááŸá¯ááŒá±á¬áá·áºáááºáž áá»ááºááŒááºá
áœá¬ááá¯ážáááºáá±ááŒá®áž á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážááá·áºá¡ááºá¹áá«áááºáá»á¬ážá
áœá¬áá«ááŸááááº- áááºááŒáœáá±á¬ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶á á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ filter á¡áá»á¬ážá¡ááŒá¬ážá ááá·áºááá¯ááºááá¯áẠfilter áá»á¬ážáá±ážáá¬ážáááºá¡ááœáẠááá¯ážááŸááºážáá±á¬á¡ááºáá¬áá±á·á
áºáá
áºáá¯ááŒá
áºáááºá
áá»áŸá±á¬ááºááœáŸá¬á áááºáááºáá»á¬ážááẠáááºážá០ááá¯ááºáá¬áá±á¬áºáááºáž áááááœáẠááá·áºáá»ááºáááºáá¯á¶á
ᶠá áá¯ááŸááááºá
- á¡ááŒáááºááœáá·áºá
á¡ááŸááºá áá±á¬áá±á¬áááºááŸá¬ ááá¯á
ááŸá±áá» caching á¡áá±á¬ááºá¡áá¶á·áááŸááá«á áá«ááᯠGoogle á ááŒáá¯ážá
á¬ážáá±áá«áááºá
ááá¯á¡áá»áááºááœááºá statics á¡ááœáẠnginx ááá¯áá¯á¶ážáá«á
- Static configuration
áááºááá¯á¶ážááá¯ááºáá±ááá·áº ááá¯á ááŸá±áá» á¡á²áá«á áááºáá®ážáá¬ážáᬠááá¯ááºáá«áá°ážá á¡ááŒáááºááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááŸá á¡ááºá¹áá«áááºáá»á¬ážááᯠáá¯ááºáá±á¬áºááŒááááºááá¯ááºáá«á á¡ááá¯ááºá¡ááá·áºáá»á¬ážá áœá¬ááŸááááº-
yaml ááœáẠconfiguration ááᯠáááºážááŒááºáá±á¬á¡áá«á áááºááẠááŸá¬ážááœááºážááœá¬ážáááºááŒá
áºááŒá®ážá developer áá»á¬ážá¡á¬áž ááŒááºážáááºážá
áœá¬ áá²ááá¯ááŒáááºážáá±á¬ááºážáᬠnginx/haproxy configs áá»á¬ážááẠááœá²á·á
ááºážáááºáá±á¬ááºáá¯á¶áááºážáá±á¬áºáááºáž ááá¯ááá¯áááá»áááºáᯠáááºááŒááºáááááºááŒá
áºáááºá á¡áááááá«áá²áá±á Nginx ááŸáá·áº Haproxy áááœá²á·á
ááºážáá¯á¶ááᯠáááºááŒáá·áºáááºážááŒááºááẠáááºáá®ážáá¬ážáááºá ááá¯á
ááŸá±áá» áá¯ááºááŸáá»áá¯ážáááºáá»á¬ážá¡ááœááºá ááœá²á·á
ááºážááŸá¯áá
áºáá¯áá¯á¶ážááᯠááœááºáá±á¬áºááŒáá¬ážáááºá
Canaryá b/g ááŒáá·áºáá»ááºááŸá¯á¡ááŒá±á¡áá±áá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬ááᯠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº dynamic configuration ááœááºáᬠá¡áá±á¬ááºá¡áááºáá±á¬áºáá«áááºá áá«ááᯠáááºááŒáááºá¡á±á¬áẠááá¯ááºááá¯ááºáá°áž ááá¯á· ááŒá±á¬áá¬ááá¯ááºáá°ážá áá«ááá¯á· á¡á¬ážáá¯á¶áž áá¯ááºáááºá áá«áá±ááá·áº áá®á¡ááœáẠáááºá áá»áá¯ááºážáá±á¬ááºá áá»áááºááœááºáá»áŸá¬ áá áºáá¯áá¯ááŸá¬ áá»áá¯ááºážáá±á¬ááºááœá± áááºáááºáá¬ážááá¯á· ááá¯áá«áááºá ááá¯á ááŸá±áá» á¡áá«á¡áááºá
Envoy ááẠáááŸááááŒá áºááá¯á¡ááºáá±á¬ á¡áá¯ááºáá»á¬áž-
- ááŸá¯ááºááœá±ážááŒá®áž áááºááŒáœáá±á¬á áá áºáá»á¬ážááœáẠáá¬ááºááŒá±á¬ááááºážááŸáááŸá¯á áááºážááœáẠáááºáá±á¬ááºááŸá¯ mesh áá«áááºáá±á¬áºáááºáž áááºážááẠáá±áá»á¬áá±á«ááºáá áºáá¯áááºážááá¯ááºáá«á
- ááŒáá·áºáá±áá¬ážáá±á¬ ááŒá±áá¬áá¶áá¯ááºáá±á¬ááºááá¯ááºá áœááºážá ááŸá¯ááºááœá±ážáá±á¬ááœáá·áºááŒá¯áá»áẠááá¯á·ááá¯áẠáááŸáááá¯ááºáá±á¬ á¡ááŒá¬ážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠááá¯á¡ááºáááºá ááá¯á ááŸá±áá» box á០ááá¯á·ááá¯áẠá¡áááºááŒá±á áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬áºáááºáž nginx/haproxy ááœáẠáááºááẠlua ááŸáá·áº áá¶ááááŸááá±á¬ plugins áá»á¬ážááŒáá·áº ááá¯ááºážáá¶áá¬ážááẠááá¯á¡ááºáááºá
ááá¯á¡ááºááẠááŸá áºáá¯áá¯á¶ážá á áœááºážáá±á¬ááºáááºááŒáá·áºáááºá
áááºááá¯á€áá¯ááºáááºážááá¯áááº
Envoy ááᯠdocker áá¯á¶á¡ááŒá áºáᬠbinaries ááœááºááŒáá·áºáá±áááºá áá¯á¶ááœáẠstatic configuration á á¥ááá¬áá áºáᯠáá«ááŸáááŒá®ážááŒá áºáááºá áá«áá±ááá·áº ááœá²á·á ááºážáá¯á¶ááᯠáá¬ážáááºááá¯á·áá² á áááºáááºá á¬ážáááºá
envoy.yaml áááºááŒáááºááœá²á·á ááºážááŸá¯
static_resources:
listeners:
- name: listener_0
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
host_rewrite: www.google.com
cluster: service_google
http_filters:
- name: envoy.router
clusters:
- name: service_google
connect_timeout: 0.25s
type: LOGICAL_DNS
# Comment out the following line to test on v6 networks
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service_google
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: www.google.com
port_value: 443
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.api.v2.auth.UpstreamTlsContext
sni: www.google.com
ááá¯ááºážááá áºááœá²á·á ááºážááŸá¯
áá»áœááºá¯ááºááá¯á·ááẠáááºááá·áºááŒá¿áá¬á¡ááœáẠá¡ááŒá±ááá¯ááŸá¬áá±ááááºážá load balancer configuration ááᯠload á¡á±á¬ááºááœáẠááŒááºáááºá áááºáá¯á¶áá»áŸááá "áá±ážáááºáá±á¬" ááŒá¿áá¬áá»á¬áž áá±á«áºáá¬áá«áááº-
- ááœá²á·á ááºážááŸá¯á¡áááºááŒá¯ááŒááºážá
config ááẠááŒá®ážáá¬ážááá¯ááºááŒá®ážá áááºážááẠá¡ááœááºááŒá®ážáá¬ážááá¯ááºáááºá áááºážááᯠáá áºááŒáááºáááºážááœáẠoverload áá¯ááºáá«á áá áºáá±áá¬áá¬ááœáẠerror ááŒá áºááá¯ááºááŒá±áá»á¬ážáá«áááºá
- ááŸááºáá»á¬ážáá±á¬á¡áááºá¡ááœááºáá»á¬ážá
áá¬ážáááºáá°á¡áá áºááᯠá áááºááá·áºá¡áá«á á¡áá±á¬ááºážáá±á«áºááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº áá»áááºáááºááŸá¯áá»á¬ážááᯠááá¯á áá¯ááºááẠááá¯á¡ááºáááºá á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž áááŒá¬áá ááŒá áºáá±á«áºááŒá®áž áá±ááŸááºáá»áááºáááºááŸá¯áá»á¬áž ááŸááá±áá«áá á¡áá±ážá¡áá°ááᯠáááºááŸá¬ááœá±ááááºááŒá áºáá«áááºá áááºá¹ááá¬áá«á nginx ááœáẠkubernetes áááºáá±á¬ááºáááºá
- áááºááŒáœáá±á¬áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯áá»á¬ážá
áá»áœááºá¯ááºááá¯á·ááœáẠáá¯ááºáá±á¬ááºáá±áá±á¬ áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯áá»á¬ážááŸááá«áá á¡ááœá¬ážá¡áá¬áááá¯á·áá® ááŒááºáááºáááºááŸááºááŸá¯á¡áá áºááœáẠáááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠááŸá áºáá á áºáá±ážááẠááá¯á¡ááºáá«áááºá áá±áááºáá¬áá»á¬ážááẠá¡áá»áááºáá°ááááºá áááºá¹ááá¬áá« haproxyá
áá«ááᯠáááºááá¯ááŒá±ááŸááºážááá²á ááá¯á ááŸá±áá»config ááᯠdynamically áááºááŒááºážááŒáá·áºá pool model á¡áá áááºááẠáááºážááᯠáá®ážááŒá¬áž á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááá¯ááºááŒá®áž áááŒá±á¬ááºážáá²áá±ážáá±á¬ á¡á áááºá¡ááá¯ááºážááᯠááŒááºáááºá áááºááŒááºážáááŒá¯ááá¯ááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá ááŒááºáááºá áááºááẠá á»á±ážááŒá®ážááŒá®áž ááŒá±á¬ááºážáá²áá²áá±á¬ áá¬ážáá±á¬ááºáá°á
configuration áá»á¬áž ááá¯á ááŸá±áá» (á¡áááºáá«ááá¯ááºááŸ) á¡á±á¬ááºáá«á¡áá¬áá»á¬ážáá«ááŸááááºá
- áá¬ážáá±á¬ááºáá° - áá®ážááŒá¬áž ip/port áá±á«áºááœáẠáá»áááºááœá²áá¬ážáá±á¬ áá¬ážáá±á¬ááºáá°
- virtual host - ááá¯ááááºážá¡áááºááŒáá·áº virtual host
- ááá®ážá áẠ- áááºáá»ááºáá®áá±á¬á ááºážáá»ááºáž
- á áá»á áºáá®ážááŒáœáẠâ áá»áááºááœááºáá»áŸá¬ááŸááá±á¬ááºáá»á¬ážáá«ááŸááá±á¬ á¡áááºááá¯ááºážá¡á¯ááºá á¯
- á¡áá¯á¶ážááŸáẠâ á¡áááºááá¯ááºáž á¥ááᬠááááºá á¬
á€á¡áá¬áá áºáá¯á á®ááŸáá·áº á¡ááŒá¬ážá¡áá»áá¯á·ááᯠááá¯ááºážááá áºááŒáá·áº ááŒáá·áºááá¯ááºáááºá á€á¡ááœááºá ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááẠconfig áááºáá¶ááá·áºáá±áá¬á០áááºáá±á¬ááºááŸá¯áááááºá á¬ááᯠáááºááŸááºáá±ážáááºá áááºáá±á¬ááºááŸá¯ááẠREST ááá¯á·ááá¯áẠgRPC ááŒá áºááá¯ááºáááºá gRPC ááẠááá¯áá±á¬ááºážáááºá
áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠLDSá VHDSá RDSá CDS ááŸáá·áº EDS á¡áá®ážáá®áž á¡áááºáá±ážáá¬ážáááºá static ááŸáá·áº dynamic configuration ááᯠáá±á«ááºážá ááºááá¯ááºááŒá®ážá static resource áá áºáá¯ááœáẠdynamic resource ááᯠáááºááŸááºááááá±á¬ ááá·áºáááºáá»ááºááŒáá·áº áá±á«ááºážá ááºááá¯ááºáááºá
á¡áá¯ááºá¡áá»á¬ážá
á¯á¡ááœááºá áá±á¬ááºáá¯á¶ážáááºáá±á¬ááºááŸá¯áá¯á¶ážáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáá¯á¶áá±á¬ááºáá«ááŒá®á áááºážááá¯á·ááᯠADS (Aggregated Discovery Service) áá¯áá±á«áºáá±á¬ááŒá±á¬áá·áºá
ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááẠá¡á±á¬ááºáá«áá¯á¶á á¶ááᯠáá°áááº-
envoy.yaml áááŒá±á¬ááºážáá²áá±áá±á¬ááœá²á·á ááºážááŸá¯
dynamic_resources:
ads_config:
api_type: GRPC
grpc_services:
envoy_grpc:
cluster_name: xds_clr
cds_config:
ads: {}
static_resources:
listeners:
- name: listener_0
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
stat_prefix: ingress_http
rds:
route_config_name: local_route
config_source:
ads: {}
http_filters:
- name: envoy.router
clusters:
- name: xds_clr
connect_timeout: 0.25s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: xds_clr
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: xds
port_value: 6565
startup ááŸá¬ ááá¯á
ááŸá±áỠဠconfig ááŒáá·áºá áááºážááẠcontrol-plane ááá¯á·áá»áááºáááºááŒá®áž RDSá CDS ááŸáá·áº EDS configuration ááá¯áá±á¬ááºážááá¯áááºááŒáá¯ážá
á¬ážáááá·áºáááºá á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ ááŒá
áºá
ááºááᯠáááºáá²á·ááá¯á· ááŒá
áºááœá¬ážááŒá±á¬ááºáž áá±á¬áºááŒáá¬ážáá«áááºá
ááá¯ááá¯ááŒá±á¬ááááº, ááá¯á
ááŸá±áá» áá±á¬ááºážááá¯áá¬ážááá·áº á¡áááºážá¡ááŒá
áºá¡áá»áá¯ážá¡á
á¬ážá node ááá¬ážááŸááºážááŸáá·áº ááá·áºáááºáá»ááºáá»á¬ážááᯠáá±á¬áºááŒáá±á¬ áá±á¬ááºážááá¯áá»ááºáá
áºáᯠáá±ážááá¯á·áááºá áá¯á¶á·ááŒááºááŸá¯á¡áá±ááŒáá·áºá áááºážááẠá¡áááºážá¡ááŒá
áºáá
áºáá¯ááŸáá·áº áá¬ážááŸááºážáá
áºáá¯ááᯠáááºáá¶áááŸááááºá á¡áááºá ááááºážáá»á¯ááºááŸá¯áá±áá¬ááºáá±á«áºááŸá áá¬ážááŸááºážááẠááŒá±á¬ááºážáá²ááŒááºážáááŸááá«áá áááºážááẠáá¯á¶á·ááŒááºáááºááá¯ááºáá«á
á¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯ ááœá±ážáá»ááºá
áᬠá áᯠááŸááááº-
- á¡áááºážá¡ááŒá áºá¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážá¡ááœáẠgRPC á á®ážááŒá±á¬ááºážáá áºáá¯á á¡áááºážá¡ááŒá áºá á¡ááŒáá·áºá¡á á¯á¶ááᯠáá±ážááá¯á·áááºá
- áá®ážááŒá¬ážáá»á±á¬ááºážáá»á¬ážá á¡ááŒá±á¡áá±á¡ááŒáá·áºá¡á á¯á¶á
- á ááºážáá»á±á¬ááºážáá áºáá¯á ááá¯ážááŒáá·áºááá·áºá¡ááŒá±á¡áá±á
- áá®ážááŒá¬ážá á®ážááŒá±á¬ááºážáá»á¬ážá ááá¯ážááŒáá·áºááá·áºá¡ááŒá±á¡áá±á
Incremental xDS ááẠááááºážáá»á¯ááº-áá±áá¬ááºááŸáá·áº ááááºážáá»á¯ááºááŸá¯á¡ááŒá¬áž á¡ááœá¬ážá¡áá¬ááᯠáá»áŸá±á¬á·áá»ááá¯ááºá á±áá«áááºá ááá¯á ááŸá±áá»á€á¡áá¬ááẠááŒá®ážáá¬ážáá±á¬ááœá²á·á ááºážáá¯á¶áá»á¬ážá¡ááœáẠáááºááá¯ááºáááºá ááá¯á·áá±á¬áº áááºážááẠá¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯ááᯠááŸá¯ááºááœá±ážá á±áááºá áá±á¬ááºážááá¯áá»ááºááœáẠá á¬áááºážááœááºážááŒááºážá០áááºáá»ááºááŒááºážááŸáá·áº á á¬áááºážááœááºážááŒááºážá¡ááœáẠá¡áááºážá¡ááŒá áºáá»á¬ážá á¬áááºážáá«ááŸááááºá
áá»áœááºá¯ááºááá¯á·áá¥ááá¬ááẠADS ááá¯á¡áá¯á¶ážááŒá¯ááẠ- RDSá CDSá EDS ááŸáá·áº áááºááá¯ážááá¯ááºáá±á¬áá¯ááºá¡ááœáẠstream áá
áºáá¯á ááá¯ážááŒáŸááºáá¯ááºááᯠááœáá·áºáááºá ááẠáááºááŸááºááẠááá¯á¡ááºáááºá api_type: DELTA_GRPC
áá±á¬ááºážááá¯áá»ááºááœáẠnode áá±á¬ááºáá»á¬ážáá«áááºáá±á¬ááŒá±á¬áá·áºá ááá°áá®áá±á¬á¥ááá¬áá»á¬ážá¡ááœáẠcontrol-plane ááá¯á· ááá°áá®áá±á¬á¡áááºážá¡ááŒá áºáá»á¬ážááᯠáá±ážááá¯á·ááá¯ááºáá«áááºá ááá¯á ááŸá±áá»á€áááºááŸá¬ áááºáá±á¬ááºááŸá¯ááœááºáá áºáᯠáááºáá±á¬ááºáááºá¡ááœáẠá¡áááºááŒá±áááºá
ááœá±ážáá°áá±á·áá»ááºá·áááºáž
á¡áá±á«áº ááá¯á ááŸá±áá» á áááºáá»áááºááœáẠááá¯á·ááá¯áẠááááºážáá»á¯ááºááŸá¯áá±áá¬ááºá០ááœá²á·á ááºážááŸá¯áá¯á¶á á¶á¡áá áºáá áºáá¯ááᯠáááºáá¶áááŸáááá·áºá¡áá«á á¡áááºážá¡ááŒá áºáá°ááœá±ážááŸá¯áá¯ááºáááºážá ááºááᯠá áááºáá±á¬ááºááœááºáá«áááºá áááºážááᯠáá¬ážáá±á¬ááºáá° ááœá±ážááœá±ážááœá±ážááœá±ážááŸáá·áº á¡á á¯ááá¯áẠááœá±ážááœá±ážááŸá¯ áá°á ááœá²ááŒá¬ážáá¬ážáááºá ááááá áºáá¯á RDS/LDS ááŸá¬ á¡ááŒá±á¬ááºážá¡áá²ááœá±ááŸááá²á·á¡áá« áá¯ááááá áºáá¯á CDS/EDS ááŸá¬ á áááºáá«áááºá ááá¯ááá¯áááºááŸá¬ áá±á á®ážááŒá±á¬ááºážáá»á¬ážáᬠááŒá±á¬ááºážáá²áá«á áá¬ážáá±á¬ááºáá°á¡á¬áž ááŒááºáááºáááºáá®ážáááºááá¯ááºáá«á
ááœá±ážáá°ááŒááºáž áá¯ááºáááºážá
ááºá¡ááœááºážá á¡áá»áááºáá¯ááºááœá¬ážáá»áááºááœáẠááááºážáá»á¯ááºááŸá¯áá±áá¬ááºá០ááŸá®ááá¯á¡á¬ážáá¬ážááá±á¬ á¡áááºážá¡ááŒá
áºáá»á¬ážááᯠáá»áŸá±á¬áºááá·áºáá«áááºá á¡áá»áááºáá¯ááºááœá¬ážáá«á á¡á
ááŒá¯ááŒááºáž áá¡á±á¬ááºááŒááºáá² áá¬ážáááºáá°á¡áá
áºááẠááááºáááºážááœáẠáá¬ážáá±á¬ááºááŒááºáž á
áááºáááºááá¯ááºáá«á
áááŠážá¡áááá·áº- EDSá CDSá áááºááŒáœáá±á¬áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯á RDSá LDSá á¡áááºáááºáá±á¬ áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯áá»á¬ážááᯠááœáá·áºáá¬ážááŒááºážááŒáá·áºá á¡á±á¬ááºááŒááºáá±á¬ áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯áá
áºáá¯ááŒá®ážááŸáᬠáá¬ááºá¡ááœá¬ážá¡áá¬ááẠáá±á
á®ážááŒá±á¬ááºážá¡ááá¯ááºážááœá¬ážáá«áááºá
áá¬ážáá±á¬ááºáá°ááᯠááŒááºáááºáááºáá®ážáá¬ážáá»áŸáẠá¡áá±á¬ááºážááẠDRAIN á¡ááŒá±á¡áá±ááá¯á·áá±á¬ááºááœá¬ážááŒá®áž áá»áááºáááºááŸá¯á¡á¬ážáá¯á¶ážááᯠááááºááá¯ááºááẠááá¯á·ááá¯áẠá¡áá»áááºáá¯ááºáá¯á¶ážááŒá®ážáá±á¬áẠáá»ááºááá¯ááºáá«áááºá --drain-time-s
áá¯á¶ááŸáẠ10 áááá
áºá
áááºáá¶áááá¯á·á
source: www.habr.com