áááºá¹ááá¬áá«.. áááºáááºážá
á
áá»ááºážááŸá¬.
áááºáá±á¬ááºááŸá¯ mesh ááẠá¡ááá®áá±ážááŸááºáž áááá¯ááááºážáááºáž á¡ááºáá¬áá±á·á
áºáá»á¬áž (APIs) áá»á¬ážááŒá¬ážááœáẠááœááºáááºá¡ááŒá±ááŒá¯ áá¯ááºáááºážá
áẠá¡ááŒááºá¡ááŸáẠáááºááœááºááŸá¯ ááá¬áá¡áá»á¬ážá¡ááŒá¬ážááᯠááá¯ááºááœááºááẠááá¯á¡ááºáá±á¬ áá»áááºááŸáááá¯ááºáá±á¬ áááá·áºáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠ á¡ááœáŸá¬ááŒá
áºáááºá Service Mesh ááẠááœááºááááºáá¬ááŒá¯áá¯ááºáá¬ážáá±á¬ ááŸáá·áº áááŒá¬áá áá±á«áºáááºá¡áá¯á¶ážáá»á¬ážáá±á¬ á¡ááá®áá±ážááŸááºážá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áááºáá±á¬ááºááŸá¯áá»á¬ážááŒá¬áž áá»ááºááŒááºáá±á¬á áá¯á¶ááŒááºá
áááºáá»áááŒá®áž áá¯á¶ááŒá¯á¶áá±á¬áááºááœááºáá±ážááᯠáá¯ááºáá±á¬ááºáá±ážáá«áááºá Service Mesh ááẠáááºáá±á¬ááºááŸá¯ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯á áá»áááºááœááºáá»áŸá¬ááŸáááŸá¯á áá¯ááºááŸááºááŸá¯á ááœáá·áºáááºážááŒááºáá¬ááŸá¯á ááŒá±áá¬áá¶ááá¯ááºááŸá¯á á¡áá±á¬ááºá¡áá¬ážá
áá
á
áºááŒááºážááŸáá·áº ááœáá·áºááŒá¯áá»ááºááŸáá·áº á¡ááá¯á¡áá»á±á¬ááºááááºááŒááºážáá¯á¶á
ᶠáá¶á·ááá¯ážááŸá¯áá²á·ááá¯á·áá±á¬ á
áœááºážáá±á¬ááºáááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááẠ(circuit breaker ááá¯).
service mesh áá¯áá±á«áºáá±á¬ proxy instance áá
áºáá¯á
á®ááᯠservice instance áá
áºáá¯á
á®áá±ážááŒááºážááŒáá·áº áá¯á¶ááŸááºá¡á¬ážááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºáá«áááºá ááá¯ááºáá¬ážá ááá¯ááºáá¬áž áááºáá±á¬ááºááŸá¯áá»á¬ážááŒá¬ážááœáẠáááºááœááºáá±ážááᯠááá¯ááºááœááºáá«á áá¯á¶ááŒá¯á¶áá±ážááŒá¿áá¬áá»á¬ážááᯠá
á±á¬áá·áºááŒáá·áºááŒá±ááŸááºážáá«á ááá¯ááá¯áááºááŸá¬ áááºáá±á¬ááºááŸá¯áá
áºáá¯áá»ááºážá
á®á០ááœá²áá»á±á¬áºááœá¬ážááá¯ááºááá·áº á¡áá¬á¡á¬ážáá¯á¶ážááᯠááá¯ááºááœááºááŒá±ááŸááºážáá«á á€áááºážá¡á¬ážááŒáá·áºá developer áá»á¬ážááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááœáẠá¡ááá®áá±ážááŸááºážáá¯ááºááᯠáá±ážáá¬ážááŒááºážá ááááºážááááºážááŒááºážááŸáá·áº áááºáá±á¬ááºááŸá¯áá±ážááŒááºážááá¯á·ááᯠáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž á
áá
áºá
á®áá¶ááá·áºááœá²áá°áá»á¬ážááẠService Mesh ááŸáá·áº áá¯ááºáá±á¬ááºááá¯ááºááŒá®áž á¡ááá®áá±ážááŸááºážááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºá
Googleá IBM ááŸáá·áº Lyft ááá¯á·á០Istio ááẠáááºááŸáááœáẠá¡áá»á±á¬áºááŒá¬ážáá¯á¶áž áááºáá±á¬ááºááŸá¯ mesh áááá¯áá¬ááŒá áºáááºá Google ááœáẠáá°ááá®ááœááºáá²á·ááá·áº Kubernetes ááẠááá¯á¡áá« Istio á០áá¶á·ááá¯ážáá±ážááá·áº áá áºáá¯áááºážáá±á¬ ááœááºááááºáᬠáá®ážááŸá¯ááºááŸá¯ááá¯ááºáᬠáá°áá±á¬ááºááŒá áºáááºá áá±á¬ááºážáá»áá°áá»á¬ážááẠIstio á á á®ážááœá¬ážáá±ážá¡á áá¶á·ááá¯ážáá¬ážáá±á¬ áá¬ážááŸááºážáá»á¬ážááᯠáááºáá®ážááẠááŒáá¯ážá á¬ážáá±áá«áááºá áááºážááá¯á·ááẠopen source ááá±á¬áá»ááºááá¯á· áááºááá·áºá¡áá¬á¡áá áºáá»á¬áž áá±á¬ááºááŒááºážáá±ážááá¯ááºáááºááᯠááŒáá·áºááŸá¯ááẠá áááºáááºá á¬ážááœááºááŒá áºáááá·áºáááºá
ááá¯á·áá±á¬áºá Istio ááẠá¡ááŒá¬ážáá±á¬ Service Mesh á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááᯠáá®ááœááºáá±áá±á¬ááŒá±á¬áá·áº áá
áºáá¯áááºážáá±á¬ááœá±ážáá»ááºááŸá¯ááá¯ááºáá«á áá¯á¶á
ᶠsidecar proxy
Buoyantá HashiCorpá Solo.io ááŸáá·áº á¡ááŒá¬ážááá±á¬áá»ááºáá»á¬ážá áá¯á¶ážááŒááºááá¯ááºááá²á·ááá¯á· áá°ááŒáá¯ááºá¡áá»á¬ážáá¯á¶áž á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááŒá
áºáááºá á¡ááŒá¬ážááœá±ážáá»ááºá
áá¬áááá¯áá¬áá»á¬ážáááºážááŸááá«áááº- Netflix áááºážááá¬áááááá¬á¡á
á¯á¶ááẠRibboná Hysterixá Eurekaá Archaius á
á¬ááŒáá·áºááá¯ááºáá»á¬ážá¡ááŒáẠAzure Service Fabric áá²á·ááá¯á·áá±á¬ ááááºáá±á¬ááºážáá»á¬ážááŸáá
áºááá·áº Service Mesh áá¯ááºáá±á¬ááºááá¯ááºá
áœááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áº áá»ááºážáááºááŸá¯áá
áºáá¯ááŒá
áºáááºá
Service Mesh ááœáẠáááºáá±á¬ááºááŸá¯ á¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž á¡ááœáẠáááºážá ááá¯ááºááá¯áẠáá±á«áá¬á áá«ááŸááá«áááºá
- Container orchestration áá°áá±á¬ááº. á¡ááá®áá±ážááŸááºážá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááœáẠááœááºááááºáá¬áá»á¬áž ááá¯áá»á¬ážáá¬áááºááŸáá·áºá¡áá»áŸá ááœááºááááºáá¬áá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááŒááºážááŸáá·áº á á®áá¶ááá·áºááœá²áááºá¡ááœáẠáá®ážááŒá¬ážáááááá¬áá áºáᯠááá¯á¡ááºááẠ- ááœááºááááºáá¬áá®ážááŸá¯ááºááŸá¯áá±á¬ááºá Kubernetes ááẠá€áááºáááºááᯠá¡ááá¯ááºá¡áᬠááááºážááá¯ááºáá¬ážááŒá®ážá ááá¯á·ááŒá±á¬áá·áº áááºážá á¡ááá ááŒáá¯ááºááẠDocker Swarm ááŸáá·áº Mesosphere DC/OS ááá¯á·ááẠá¡ááŒá¬ážááœá±ážáá»ááºá áá¬á¡ááŒá ẠKubernetes ááŸáá·áº áá±á«ááºážá ááºážááŸá¯ááᯠáááºážááŸááºážáá¬ážáááºá
- áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá¬áááá»á¬áž (Kubernetes Pods). á¥ááá¬áá áºáá¯ááẠmicroservice áá áºáá¯á áááºáááºáá±áá±á¬ áááá¹áá°áá áºáá¯ááŒá áºáááºá áá áºáá«áá áºáá¶ááœáẠá¥ááá¬áá áºáá¯ááẠááœááºááááºáá¬áá áºáá¯ááŒá áºáááºá Kubernetes ááœááºá á¥ááá¬áá áºáá¯ááẠpod áá¯áá±á«áºáá±á¬ áá®ážááŒá¬ážááœááºááááºáá¬á¡á¯ááºá á¯áááºáá áºáᯠáá«áááºáááºá áá±á¬ááºáááºáá»á¬ážááẠá á¶ááá°áá¬áá áºáᯠááá¯á·ááá¯áẠáá±á«á·ááºáá áºáá¯ááᯠááá¯ááºááá¯ááºáááºáá±á¬ááºáá²áááºážáááºá áááŒá¬ááá áááºážááá¯á·ááẠáááºáá°áááºáá»áŸá á¡ááá¯ááºážá¡áá¬ááŸáá·áº á¡ááŸá¬ážáá¶ááá¯ááºáá±á¬ ááŒá áºáááºáá»á¬áž ááá¯á·ááá¯áẠpods (áá¯á¶áá°áá»á¬áž) á áááºáá±á¬ááºááŸá¯áá áºáá¯ááᯠáááºáá±á¬ááºáá±á·ááŸááááºá
- Sidecar Proxy. Sidecar Proxy ááẠá¥ááá¬áá áºáᯠááá¯á·ááá¯áẠpod áá áºáá¯ááŒáá·áº á¡áá¯ááºáá¯ááºáááºá Sidecar Proxy áá¡áá»ááºááŸá¬ áááºážááŸáá·áºá¡áá¯ááºáá¯ááºáá±á¬ááœááºááááºáá¬ááŸáá¬áá±á¬áááºážááŒá±á¬ááºáž ááá¯á·ááá¯áẠááá±á¬ááºá á®á¡ááœá¬ážá¡áá¬ááᯠáááºážááŒá±á¬ááºážáá±ážááŒá®áž ááŒááºááœá¬ážááŒááºážáááºááŒá áºáááºá Sidecar ááẠá¡ááŒá¬áž Sidecar Proxies áá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºááŒá®áž áá®ážááŸá¯ááºááŸá¯áá±á¬ááºáá áºáá¯ááŒáá·áº á á®áá¶ááá·áºááœá²áá«áááºá Service Mesh á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡áá»á¬ážá¡ááŒá¬ážááẠá¥ááá¬áá áºáᯠááá¯á·ááá¯áẠáá±á«á·ááºáá áºáá¯á¡ááœááºáž á¡ááœá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááᯠááŒá¬ážááŒááºá á®áá¶ááẠSidecar Proxy ááá¯á¡áá¯á¶ážááŒá¯áááºá
- áááºáá±á¬ááºááŸá¯ááŸá¬ááœá±ááŸá¯. á¥ááá¬áá áºáá¯ááẠá¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá áºáá¯ááŸáá·áº áááºááœááºááẠááá¯á¡ááºáá±á¬á¡áá«á áááºážááẠá¡ááŒá¬ážáááºáá±á¬ááºááŸá¯á áá»ááºážáá¬ááŒá®áž áááá¯ááºáá±á¬ á¥ááá¬áá áºáá¯ááᯠááŸá¬ááœá±ááẠááá¯á¡ááºáá«áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá á¥ááá¬ááẠDNS ááŸá¬ááœá±ááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá container orchestration framework ááẠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáá¶ááẠá¡áááºááá·áºááŒá áºáá±áá±á¬ áá¬áááá»á¬ážá á¬áááºážááᯠááááºážááááºážáá¬ážááŒá®áž DNS á á¯á¶á ááºážááŸá¯áá»á¬ážá¡ááœáẠá¡ááºáá¬áá±á·á áºááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
- Load áá»áááºááœááºáá»áŸá¬. container orchestration framework á¡áá»á¬ážá á¯ááẠlayer 4 (áááºáá°ááá¯á·áá±á¬ááºáá±áž) ááœáẠload balancing ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá Service Mesh ááẠá¡ááœáŸá¬ 7 (á¡ááá®áá±ážááŸááºážá¡ááá·áº) ááœáẠááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬ áááºáá»áááºááœááºáá»áŸá¬ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±ážááẠá áááºážááŒá¬áá±á¬áẠááá¯á·ááá¯áẠáááá¹ááá® ááŒáá·áºáá»ááºááŸá¯áá»á¬ážááᯠá á®á ááºáá¯ááºáá±á¬ááºááẠAPI ááᯠá¡áá¯á¶ážááŒá¯á Load Balancing áááºáááºáá»á¬ážááᯠááŒá±á¬ááºážáá²ááá¯ááºáááºá
- á á¬ááŸááºááŒááºáž. Service Mesh ááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážááŸáá·áº áá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠá á¬ááŸááºááŸáá·áº áá¯ááºáá¯ááºáá¯ááºááá¯ááºááŒá®áž á€áááºáá¯ááºáááºááá¯ážááᯠáááºáá±á¬ááºááŸá¯áá»á¬ážá០áááºááŸá¬ážááá¯ááºáááºá Service Mesh ááẠáá»áááºáááºááŸá¯á¡áá áºáá»á¬ážáááºáá®ážááẠá á»á±ážááŒá®ážáá±á¬ááœááºáá»ááºááŸá¯ááá¯á¡ááºááŸá¯ááᯠáá»áŸá±á¬á·áá»ááŒááºážááŒáá·áº áááºááŸááááºááŒá²áá±áá±á¬áá»áááºáááºááŸá¯áá»á¬ážááᯠáŠážá á¬ážáá±ážááŒááºáž ááá¯á·ááá¯áẠááŒááºáááºá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº á áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºááá¯ááºáááºá Traffic Encryption á á¡áá¯á¶ážá¡áá»á¬ážáá¯á¶áž á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááŸá¬ á¡ááŒááºá¡ááŸáẠTLS (mTLS)á¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ (PKI) ááẠSidecar Proxy ááŸá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáááºááŸááºáá»á¬ážááŸáá·áº áá±á¬á·áá»á¬ážááᯠáá¯ááºáá±ážááŒá®áž ááŒáá·áºáá±áá±ážááá·áºáá±áá¬ááœááºá
- á¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááŸáá·áº ááœáá·áºááŒá¯áá»ááº. Service Mesh ááẠááŒááºá ááá¯á·ááá¯áẠá¡ááá®áá±ážááŸááºážá¡ááœááºážá០ááŒá¯áá¯ááºáá¬ážáá±á¬ áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠááœáá·áºááŒá¯ááŒá®áž á á áºááŸááºááŒá±á¬ááºážáááºáá±ááŒááá¯ááºááŒá®ážá á¡áááºááŒá¯áá¬ážáá±á¬ áá±á¬ááºážááá¯áá»ááºáá»á¬ážááá¯áᬠáá¬áááá»á¬ážááá¯á· áá±ážááá¯á·ááá¯ááºáá«áááºá
- á¡ááá¯á¡áá»á±á¬ááºááááºááŒááºážáá¯á¶á
ᶠáá¶á·ááá¯ážááŸá¯. Service Mesh áá¶á·ááá¯ážáá±ážáááºá
á¡ááá¯á¡áá»á±á¬ááºááááºááá·áºáá¯á¶á ᶠáá»ááºážáá¬áá±ážááŸáá·áº ááá®ááœááºáá±á¬ ááŒá áºáááºáá»á¬ážááᯠáá®ážááŒá¬ážááœá²áá¯ááºááŒá®áž ááá¯á¡ááºááá·áºá¡áá«ááœáẠáááºážááá¯á·ááᯠáá»ááºážáá¬áá±á¬ áá¬áááá»á¬ážáá²ááá¯á· áááŒááºážááŒááºáž ááŒááºááá¯á·áá±ážáááºá
ááŒá áºáááºáá»á¬ážááŒá¬ážááŸá ááœááºáááºá¡ááœá¬ážá¡áá¬ááᯠá á®áá¶ááá·áºááœá²ááá·áº Service Mesh á¡ááºááºá á¡á áááºá¡ááá¯ááºážááᯠáá±á«áºáááºá áá±áá¬áá±áá¬ááº. á¡ááŒá¯á¡áá°ááᯠááááºážáá»á¯ááºááá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠáááºáá®ážááŒá®áž á¡áá¯á¶ážáá»áá«á áá±áá¬áá±áá¬ááº, áá®ážááŒá¬ážáá¯á¶ážááŒá®ážáá»á±á¬áºááŒá±áááºá ááááºážáá»á¯ááºáá±ážáá±áá¬ááº. ááááºážáá»á¯ááºáá±ážáá±áá¬áẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº á¡ááá®áá±ážááŸááºážááᯠááááºážáá»á¯ááºááẠAPIá CLI ááá¯á·ááá¯áẠGUI ááá¯á· áá»áááºáááºááẠááá¯á·ááá¯áẠáá®ááá¯ááºážááŒá¯áá¯ááºáá¬ážáááºá
Service Mesh ááŸá Control Plane ááẠSidecar Proxy ááŸáá·áº Data Plane á¡ááŒá¬áž ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááᯠááŒáá·áºáá±áá«áááºá
ááœááºááááºáá¬áá»á¬ážááŸáá·áº ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááŸá¯ááºááœá±ážáá±á¬ áá¯ááºáááºážáááºáááºááŸá¯ááá¯ááºáᬠááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáááºá¡ááœáẠService Mesh áááá¯áá¬ááᯠáááŒá¬áá á¡áá¯á¶ážááŒá¯áá«áááºá áááºááœááºážá ááŸá±á·áá±á¬ááºáá»á¬áž
Service Mesh áááá¯áá¬ááẠá¡ááá®áá±ážááŸááºážáááºáááºááŸá¯ááŸáá·áº áá±ážááá¯á·ááŸá¯ááŒá¿áá¬áá»á¬ážá¡á¬ážáá¯á¶ážá¡ááœáẠá¡ááŒá±ááŒá
áºáááºááá¯ááºáá±á áááá¯áá¬ááŸáá·áº developer áá»á¬ážááœáẠááŒá®ážáá¬ážáá±á¬ áááºáááºáááááá¬áá»á¬áž ááŸáááŒá®áž áááºážááá¯á·á¡áááºá០áá
áºáá¯áᬠáááºáááºážáá»á¬áž áá¯ááŒááºáž áá
áºáá¯áááºážááá¯áᬠááŒá±ááŸááºážáááẠááŒá
áºááŒá®áž á¡áá¯ááºáá»á¬ážá
áœá¬ááœáẠáá°áá
áºáá»á±á¬ááºážáᬠááŸááááºá
NGINXá ááœááºááááºáá¬áá»á¬ážá Kubernetes ááŸáá·áº microservices áá²á·ááá¯á·áá±á¬ Service Mesh áááá¯áá¬ááœáẠáá±á«ááºážá ááºáá¬ážáá±á¬ á¡á áááºá¡ááá¯ááºážáá»á¬ážááẠáááºáá±á¬ááºááŸá¯ááá¯ááºáá±á¬ Mesh á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááœáẠá¡áá®á¡áá»áŸ ááŒá áºááœááºážááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Istio ááẠááŒá®ážááŒáá·áºá á¯á¶áá±á¬ áááºáá±á¬ááºááŸá¯ mesh áááá¯áá¬áá áºáá¯á¡ááŒá Ạáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬áºáááºáž áááºážááá¯á¶á á¶áá°áá¯á¶á á¶ááŸá¬ developer áá»á¬ážááẠáááºážááá¯á·ááá¯á¡ááºáá±á¬ áááºážááá¬á¡á áááºá¡ááá¯ááºážáá»á¬ážááá¯áᬠááœá±ážáá»ááºááŒá®áž á¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºáááºááŒá áºáááºá á€á¡áá»ááºááᯠá áááºáá²ááœááºáá¬ážáá«á áááºááẠáááºá á¡ááºááºáá®áá±ážááŸááºážááœáẠáááºážááᯠá¡ááŒáá·áºá¡á á¡áá±á¬ááºá¡ááẠáá±á¬áºááá¯ááºáááºáᯠááá±áá»á¬áá«á Service Mesh ááá±á¬ááá¬ážááᯠááŸááºážáááºážá áœá¬ áá¬ážáááºááá±á¬áá±á«ááºááẠá¡áá±ážááŒá®ážáá«áááºá
source: www.habr.com