á¡ááºáá¬áááºááá¯ááœááº
microservices ááá¬áá»á±á¬áºáá²á· áááºáá±á¬ááºáá¬ážáá²á· dotCloud ááááºáá±á¬ááºážá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá«áááºá áááºážááᯠáá®ááœááºáá¯ááºáá¯ááºáá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááŒá¯á¶ááœá±á·áá±ááá±á¬ á
áááºáá±á«áºááŸá¯áá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯ Meshes áá»á¬áž áááºááá¯á·áá°áá®ááá¯áẠ(ááá¯á·ááá¯ááº) ááá°áá®ááá¯ááºááŒá±á¬ááºáž ááŸááºážááŒáá«áááºá
dotCloud ááááá¯ááºáž
dotCloud ááááá¯ááºážááŒá±á¬ááºážááŸáá·áº á€ááááºáá±á¬ááºážá¡ááœáẠáááá¯áá¬ááœá±ážáá»ááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž áá±ážáá¬ážáá¬ážáá±á¬áºáááºáž ááœááºáááºá¡ááœáŸá¬á¡ááŒá±á¬ááºáž ááááºáááŒá±á¬ááŒá
áºáá«á á
á¬ááááºáá»ááºáá°ážááá¯áááº
dotCloud ááááºáá±á¬ááºážááá¯á· áááºážááŒá±á¬ááºážá¡ááœá¬ážá¡áá¬ááᯠáááºáá²á·ááá¯á· áŠážáááºáá¬ážáááºááᯠááŒá±á¬ááŒáá«áááºá á¡áá°ážáá±á¬ááºážááœááºáá±á¬ááŒá±á¬áá·áº ááá¯ááºáá² (á áá áºááẠá¡áá»áááºá¡ááœáẠáá±á¬ááºážááœááºáá±á¬áºáááºáž!)á ááá¯á·áá±á¬áº á¡áááá¡á¬ážááŒáá·áº áá±ááºáá®áááááá¬áá»á¬ážááŒáá·áº áá±á«á·áá±á«á·áá«ážáá«ážá¡ááœá²á·áá áºááœá²á·á áááºážááá¯á·ááẠáááºážááŒá±á¬ááºážáá áºáá¯ááŒá¬ážáááºážááŒá±á¬ááºážááᯠáááºážááŒá±á¬ááºážáá±ážááá¯áá«á á¡áá»áááºááá¯á¡ááœááºáž ááœááºáá°á áœá¬á¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬áž ááá¯á·ááá¯áẠá¡áá¯á¶ážáá»ááá®áá±ážááŸááºážáá»á¬ážá á€áááºážá¡á¬ážááŒáá·áº áááºááẠááœá±ážáá»ááºá áá¬áá»á¬ážááᯠááŸáá¯ááºážááŸááºááá¯ááºáááº- áááºááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºááá¯ááºááá¯áẠáááºáá®ážááŒááºáž ááá¯á·ááá¯áẠááŸáááŒá®ážáá¬áž áááºáá±á¬ááºááŸá¯ mesh ááᯠá¡áá¯á¶ážááŒá¯áá«á áá¬ááŒá áºáááºáááºážá á á¶ááœá±ážáá»ááºááŸá¯ááŸá¬ ááá¯ááºááá¯ááºááŒá¯áá¯ááºááẠááá¯á·ááá¯áẠáááºáááºááŒá áºáááºá
áááºáá¶áá¬ážááá·áº á¡ááºááºáá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠáááºážááŒá±á¬ááºážáááºážááŒá±á¬ááºáž
dotCloud ááŸá á¡ááá®áá±ážááŸááºážáá»á¬ážááẠHTTP ááŸáá·áº TCP á¡áá¯á¶ážááŸááºáá»á¬ážááᯠáá±á¬áºáá¯ááºááá¯ááºáááºá
HTTP á¡áá¯á¶ážááŸááºáá»á¬áž load balancer cluster configuration ááœáẠááá¯ááºážááá
áºááŒáá·áº ááá·áºááœááºážáá¬ážáááºá
ááá¯ááááºážá¡áááºááẠdotCloud load balancers ááá¯á·ááœáŸááºááŒáá±ážáá±á¬ áá±á¬ááºáááºáá»á¬ážááẠááá·áºáá»á±á¬áºáá±á¬ááá¯ááááºážáá»á¬ážááŸáá áºááá·áº HTTP á¡áá¯á¶ážááŸááºáá»á¬ážááá¯á· áá»áááºáááºáááºá áá¬á០ááá°ážááŒá¬ážáá«áá°ážá
TCP á¡áá¯á¶ážááŸááºáá»á¬áž áááºáááºážáá»áẠááááºážááŸááºáá»á¬ážááŸáá áºááá·áº ááá¯á á ááºážááŸá ááœááºááááºáá¬áá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· ááá¯á·ááºáá¶áá«ááºáá áºáá¯ááŸáá·áº áááºá ááºáá±áááºá
áá±á¬ááºáááºáá»á¬ážááẠááá·áºáá»á±á¬áºáá±á¬ hostname (gateway-X.dotcloud.com áá²á·ááá¯á·áá±á¬) ááŸáá·áº port áá¶áá«ááºááá¯á·ááᯠá¡áá¯á¶ážááŒá¯á TCP á¡áá¯á¶ážááŸááºáá»á¬ážááá¯á· áá»áááºáááºááá¯ááºáááºá
á€á¡áááºááŸááºá¡áááºááẠânatsâ áá¬áá¬á¡á
á¯á¡áá±ážááá¯á· ááŒá±ááŸááºážáá±ážááẠ(ááááºááá¯ááºáá«á
á¡áááºá áááºááẠKubernetes ááŸáá·áº áááºážááŸá®ážáá«áá áááºážááẠááá·áºá¡á¬áž áááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž ááááá±ážááá¯ááºáááºááŒá
áºáááºá
dotCloud ááááºáá±á¬ááºážááœáẠáá°áá®áá±á¬áááºáá±á¬ááºááŸá¯áá»á¬ážáááŸááá«á
á¡áá¬á¡á¬ážáá¯á¶ážááᯠááá¯ážááŸááºážá áœá¬ááœá²á·á ááºážáá¬ážáá«áááº- HTTP ááŸáá·áº TCP áááºážááŒá±á¬ááºážáááºááŸááºááŒááºážááœááºáááºáá»á¬ážá áááŠážá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááẠPython áá áºáá¯á á®á ááá¯ááºážáá¬ááááºážáá»áŸáá¬ááŒá áºááá¯ááºáááºá ááááºáá±á¬ááºážááŒá®ážááœá¬ážáá¬áááºááŸáá·áº áááºááá·áºááá¯á¡ááºáá»ááºáá»á¬áž áá±á«áºáá¬áááºááŸáá·áºá¡áá»áŸ ááá¯ážááŸááºážáá±á¬ (áá¯á¶áá»á¬áááºáᯠááá¯ááááº) á¡ááºáááá¯áá®áááºáá»á¬ážá
ááŸáááŒá®ážáá¬ážáá¯ááºááᯠáá»ááºáá»ááºááŒáá·áºááŒáá·áº ááŒááºáááºááŒááºáááºááẠáááá¯á¡ááºáá«á á¡áá°ážáááŒááºá·,
áááºážááẠáá±ááºáá®áááºáá±á¬ááºááŸá¯ááœááºááŸáá·áº áááºááá¯á·ááœá¬ááŒá¬ážááááºážá
ááá·áºáááºáá»áẠááŒááºááá¯ááºá áœááºáž. áá»áœááºá¯ááºááá¯á·ááœáẠTCP áááºážááŒá±á¬ááºážááŒááœááºá¡ááœáẠáááºááá·áºááá¯ááºážáá¬ááŸá¯áá»áŸ áááŸááá«á HTTP áááºážááŒá±á¬ááºážááŸáá·áºáááºáááºáá¬áá±á¬á¡áá«á áá±á¬ááºááá¯ááºážáá¬ážááŸááºážáá»á¬ážááẠá¡ááŸá¬ážáá¯ááºáá»á¬ážááŸáá·áº áá¯á¶á·ááŒááºááŸá¯á¡áá»áááºáá»á¬ážááŸáá·áºá¡áá° á¡áá±ážá ááẠHTTP áááºááá áºáá»á¬ážááᯠááááºáááºáá²á·áááºá ááá¯á·áá±á¬áº áá±ááºáá®áá±á¬áááºáá±á¬ááºááŸá¯á¡ááœááºáá»á¬ážááẠá¥ááá¬á¡á¬ážááŒáá·áº Prometheus áá²á·ááá¯á· áááºááá áºá á¯áá±á¬ááºážááŸá¯á áá áºáá»á¬ážááŸáá·áº áá±á«ááºážá ááºážááŸá¯ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
ááŒááºááá¯ááºááŸá¯ááẠáá¯ááºáááºážáááºáááºááŸá¯ ááŸá¯áá±á¬áá·áºááŸáá¬áá (ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáááº) ááœááºáá¬áá á¡ááºá¹áá«áááºá¡áá
áºáá»á¬ážááᯠáá¯ááºááœáŸááºááá·áºá¡áá«ááœááºáááºáž á¡áá±ážááŒá®ážáá«áááºá á¡á²áá«á áá±ážáááºážáá«áááºá
Routing áá¯ááºáááºá á¡ááá·áºá¡áááºáááºážááŸááááºá dotCloud áááºážááŒá±á¬ááºážááŒááœááºááœááºá á¡ááœá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááẠáá®ážááŒá¬ážáááºážááŒá±á¬ááºážááŒááŒááºážááá¯ááºáᬠnodes á¡á á¯á¡áá±ážáá áºáá¯ááŸáááá·áº ááœá¬ážááááºááŒá áºáááºá áááºážááẠAZ (Availability Zone) áááºáááááºáá»á¬ážááᯠááŒááºáá»á±á¬áºááá¯ááºááŒá®áž latency áááááá¬áᬠááá¯ážáá¬ááá¯ááºáááºá á á¬áá»ááºááŸá¬áá áºáá¯áá»áŸáẠSQL queries áá áºáá¬áá»á±á¬áºááŒá¯áá¯ááºááŒá®áž query áá áºáá¯á á®á¡ááœáẠSQL server ááá¯á· áá»áááºáááºááŸá¯á¡áá áºáá áºáá¯ááœáá·áºááŸá áºááá·áº ááŒá¿áá¬ááŒá±ááŸááºážááŒááºážáá¯ááºááᯠááŸááºáááá«áááºá á ááºááœááºážáá¯á¶ážááá·áºá¡áá«á á á¬áá»ááºááŸá¬ááẠáá»ááºáá»ááºážááœáá·áºáá¬áá±á¬áºáááºáž TCP áá»áááºáááºááŸá¯áá áºáá¯á á® (ááŸáá·áº áá±á¬ááºáááºááœá² SQL query) áá áºáá¯á á®ááẠáááºááááºážáá®áá®á áá¹ááá·áºááŒá¬áá±á¬ááŒá±á¬áá·áº dotCloud ááœáẠáááºááẠá áá¹ááá·áºá¡áááºážáááºááŒá¬áááºá á€ááá á¹á ááœááºá ááŒá²ááŒá¶áá±á¬áááºááœááºááŸá¯áá»á¬ážááẠááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážáááºá
áá±ááºáá® áááºáá±á¬ááºááŸá¯ ááœááºáááºáá»á¬ážááẠááá¯áá²á·ááá¯á·áá±á¬ ááŒá¿áá¬áá»á¬ážááᯠááá¯ááºááœááºááŒá±ááŸááºážáá¬ááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá«áááºá ááááŠážá
áœá¬á áááºážááá¯á·ááẠáá»áááºáááºááŸá¯áá»á¬ážááᯠáááºážááŒá±á¬ááºážááŒá±á¬ááºážááŒá±á¬ááºáž á
á
áºáá±ážáá«á á¡áááºážá¡ááŒá
áºá. logical flow ááẠá¡áá°áá°áááºááŒá
áºáááº- ÐºÐ»ÐžÐµÐœÑ â ÐŒÐµÑ â ÑеÑвОÑ
ááá¯á·áá±á¬áº ááᯠmesh ááẠá
ááºááœááºážááœáẠá¡áá¯ááºáá¯ááºááŒá®áž remote node áá»á¬ážááœáẠááá«áá±á¬ááŒá±á¬áá·áº áá»áááºáááºááŸá¯ááŒá
áºáááºá ÐºÐ»ÐžÐµÐœÑ â ЌеÑ
áá±ááá¹ááááŸáá·áº á¡ááœááºááŒááºááẠ(áá®áá®á
áá¹ááá·áºáá»á¬ážá¡á
á¬áž ááá¯ááºáááá¯á
áá¹ááá·áºáá»á¬áž)á
áá±ááºáá® áááºáá±á¬ááºááŸá¯ ááœááºáááºáá»á¬ážááẠááá¯ááá¯áááºááŒááºáá±á¬ áááºáá»áááºááœááºáá»áŸá¬ áá»áááºááŸáááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®áááºáá»á¬ážááᯠáá±á¬áºáá±á¬ááºáá±ážáá«áááºá backend áá»á¬ážá áá»ááºážáá¬áá±ážááᯠá á±á¬áá·áºááŒáá·áºááŒááºážááŒáá·áºá áááºážááá¯á·ááẠááá¯ááá¯ááŒááºáááºáá±á¬ backends áá»á¬ážáá®ááá¯á· á¡ááœá¬ážá¡áá¬ááá¯áá»á¬ážá á±ááŒá®áž á¡áá¯á¶ážá á¯á¶á áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºáá±ážáá«áááºá
áá¯á¶ááœá¯á¶ááŸá¯ ááá¯áá±á¬ááºážáá«áááºá dotCloud áááºážááŒá±á¬ááºážááŒááœááºááẠEC2 Classic ááœáẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž áááºáááºáá±ááŒá®áž á¡ááœá¬ážá¡áá¬ááᯠá á¬ááŸááºááá¬ážáá« (áá áºá á¯á¶áá áºáŠážááẠEC2 ááœááºáááºá¡ááœá¬ážá¡áá¬ááœáẠsniffer áá áºáá¯ááá·áºááẠá á®áá¶áá¬ážááŒá±á¬ááºáž áá°ááá»ááºá¡áá±á«áº á¡ááŒá±áá¶á áááºááẠááŒá¿áá¬ááŒá®ážááŒá®ážáá¬ážáá¬ážááŸááá±ááŒá®)á áá±ááºáá® áááºáá±á¬ááºááŸá¯ ááœááºáááºáá»á¬ážááẠáá»áœááºá¯ááºááá¯á·á áááºážááŒá±á¬ááºážá¡á¬ážáá¯á¶ážááᯠááœáá·áºáááºážááŒááºáá¬á áœá¬ áá¬ááœááºáá±ážáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡ááŒááºá¡ááŸáẠTLS á á áºááŸááºááŒá±á¬ááºážááŸáá·áº áá±á¬ááºáááºááœá² áá¯ááºááŸááºááŒááºážááá¯á·ááŒáá·áº áá¬ááœááºáá«áááºá
ááááºáá±á¬ááºážáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáááºážááŒá±á¬ááºážáááºážááŒá±á¬ááºáž
áá±á¬ááºážááŒá®á áá»áœááºá¯ááºááá¯á·ááẠá¡ááá®áá±ážááŸááºážáá»á¬ážááŒá¬áž á¡ááœá¬ážá¡áá¬ááᯠááœá±ážááœá±ážáá²á·ááŒá®ážááŒá áºáá±á¬áºáááºáž dotCloud ááááºáá±á¬ááºážááá¯ááºááá¯ááºááá±á¬á
ááááºáá±á¬ááºážááœáẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážá¡ááœáẠáá¬áááºááŸááá±á¬ microservice ááá¬ááá·áº áá«áááºáá«áááºá á¡áá»áá¯á·ááẠá¡ááŒá¬ážáá°áá»á¬ážáá¶á០áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáá¶áá²á·ááŒá®áž á¡áá»áá¯á·ááŸá¬ á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá»áááºáááºáá±á¬áºáááºáž áááºážááá¯á·ááá¯ááºááá¯áẠáá»áááºáááºááŸá¯ááᯠáááºááá¶áá±á¬ áá±á¬ááºáá¶á¡áá¯ááºááá¬ážáá»á¬ážááŒá áºáááºá áááºááá¯á·áááºááá¯á á±áá¬áá° áááºáá±á¬ááºááŸá¯áá áºáá¯á á®ááá¯ááºážááẠáááºážááŸáá·áºáá»áááºáááºááẠááá¯á¡ááºáá±á¬ááááºá á¬áá»á¬ážá á¡áá¯á¶ážááŸááºáá»á¬ážááᯠááááá«áááºá
á¡ááá·áºááŒáá·áºáááºáá±á¬ááºááŸá¯áá»á¬ážá áœá¬ááẠá¡áááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ áááºážááŒá±á¬ááºážááŒááœááºááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá á¡ááŸááºááŸá¬á dotCloud á áá áºáá¬áá»á±á¬áº microservices á¡áá»á¬ážá¡ááŒá¬ážááᯠdotCloud ááááºáá±á¬ááºážáá±á«áºááœáẠáá¯á¶ááŸááºá¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá¬ážáááºá ááá¯á·áá±á¬áº á¡ááá·áºáááá·áºáááºáá±á¬ááºááŸá¯á¡áááºážá ᯠ(á¡áá°ážáááŒáá·áº á€áááºážááŒá±á¬ááºážááŒááœááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬) ááẠááŸá®ááá¯ááŸá¯áááºážáá«ážáá±á¬ ááá¯ážááŸááºážáá±á¬ á¡áá¬áá áºáᯠááá¯á¡ááºááẠ(áááºážááá¯á·ááẠáááºážááá¯á·ááá¯ááºááá¯áẠáá¯ááºáá±á¬ááºááẠáááºážááá¯á·á¡áá±á«áº áááŸá®ááá¯ááá¯ááºáá±á¬ááŒá±á¬áá·áº - áá±á¬ááºážááœááºáá±á¬ ááŒááºááŸáá·áºá¥ááŒá¿áá¬áá±á¬ááºáž)á
á€á¡ááá·áºáááá·áºá áá
áºááŸááºá¡áá±ážáá«áá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá±á¬á·áá¶áá«ááºá¡áá»áá¯á·ááœáẠááœááºááááºáá¬áá»á¬áž ááá¯ááºááá¯ááºá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº á¡áá¯á¶ážáá»áá²á·áááºá á€ááá
á¹á
ááœááºá á
á¶ááááºáá±á¬ááºážáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá« - ááá·áºááºáá±ážáá°á á¡áá»áááºááá¬ážááœá²áá°ááŸáá·áº á¡ááŒá±ážááá¬ážá áá±ááºáá®ááœááºááááºáá¬ááááºáá±á¬ááºážáá»á¬ážááŸáá·áº ááŸáá¯ááºážááŸááºááá¯áá«áá áááºážááẠááááºážáá»á¯ááºááŸá¯áá±áá¬ááºááŒáá·áº áááºáááºáá±ááá²á·ááá¯á·ááŒá
áºáááºá docker run
á¡áá¯ááºáá¬áááºááᯠKubernetes ááá¯á·ááœáŸá²á¡ááºááá·áºá¡á
á¬áž node áá»á¬ážáá±á«áºááœáẠááá¯ááºááá¯ááºá ááá±á¬ááá¬ážáá²á· áá±á¬áºáá±á¬áºáá°áááºá
á€áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááá¯ážááŸááºážááŒá®áž ááŒááºážáááºážáá±á¬áá¯á¶á á¶ááŒáá·áº áá±á¬áºáá¯ááºáá²á·áááº- YAML ááá¯ááºááœáẠáááºážááá¯á·áá¡áááºáá»á¬ážááŸáá·áº ááááºá á¬áá»á¬ážááᯠáá±á¬áºááŒáá¬ážáá«áááºá á¡áá¯á¶ážááŒá¯áá°ááá¯ááºážááẠဠYAML ááá¯ááºááᯠááŒáá·áºáá»ááºáááºá¡ááœáẠáááá¹áá°áá°ááááºááŒá áºáááºá
áá áºáááºááœááºá Zookeeper áá²á·ááá¯á·áá±á¬ ááŒááºááá±á¬á·/áááºááá¯ážá ááá¯ážááá¯ááºá áá¶á·ááá¯ážáá°áá®ááŸá¯ áááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áááºážááẠá¡ááœááºáá¯á¶ááŒááºá áááºáá»ááá«áááºá á¡ááŒá¬ážáá áºáááºááœááºáá° áááºáá±á¬ááºááŸá¯áá»á¬áž ááŒá±á¬ááºážááœáŸá±á·ááẠá¡áááºá¡áá²ááŸááááºá ááœáŸá±á·ááá¯ááºááá¯ááºážá áá¯á¶ážá áœá²áá°áá»á¬ážá¡á¬ážáá¯á¶ážááẠá¡ááºááááºáá¯ááºáá¬ážáá±á¬ YAML ááá¯ááºááᯠáááŸááááá·áºááẠ(ááŸáá·áº ááŒááºáááºá áááºááá¯ááºáááº)á ááááºá¡áááºáááŒá±áá°áž!
áá±á¬ááºááá¯ááºážááœááºá client áá
áºáá¯á
á®ááẠlocal proxy server ááá¯á· áá»áááºáááºáá¬ážááá·áº á¡á
á®á¡á
ááºá¡áá
áºáá
áºáá¯ááᯠá
áááºá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá ááááºá
á¬ááŸáá·áº ááá¯á·ááºá¡á
á¬áž áááºáá±á¬ááºááŸá¯á ááá¯á·ááºáá¶áá«ááºááᯠáááááºááŸáá·áº áá»áááºáááºáááºáᬠááá¯á¡ááºáááºá localhost
. áá±áááœááºáž proxy ááẠá€áá»áááºáááºááŸá¯ááᯠááá¯ááºááœááºááŒá®áž áááá·áºáá¬áá¬ááá¯á· áá±ážááá¯á·áááºá ááá¯á áá±á¬ááºááœááºááᯠá¡ááŒá¬ážá
ááºáá
áºáá¯ááá¯á· ááœáŸá±á·ááŒááºáž ááá¯á·ááá¯áẠáá»á²á·ááœááºááá·áºá¡áá«á áááá¯ááºážááá·áºá¡á¬ážáá¯á¶ážááᯠááœááºážáá¶ááŒááºážá¡á
á¬ážá áááºááẠá€áá±ááᶠááá±á¬ááºá
á®áá»á¬ážá¡á¬ážáá¯á¶ážááᯠá¡ááºááááºáá¯ááºáááºáᬠááá¯á¡ááºáá«áááºá ááŸáá·áº reboot áá¯ááºáááºáááá¯á¡ááºáá±á¬á·áá«á
(áááºážááẠTLS áá»áááºáááºááŸá¯áá»á¬ážááœáẠá¡ááœá¬ážá¡áá¬ááᯠááá·áºáááºááẠá
á®á
ááºáá¬ážááŒá®áž áááºáá¶ááá·áºáááºááœáẠá¡ááŒá¬ážáá±á¬ ááá±á¬ááºá
á®áá¬áá¬ááᯠáá¬ážááŸááᬠáááºáá¶ááŒááºážáááºáá±á¬ááºááŸá¯ááœááºáᬠáá«áááºááŒááºážáááŸááá² TLS áááºááŸááºáá»á¬ážááᯠá
á
áºáá±ážá¡áááºááŒá¯ááẠá
á®á
ááºáá¬ážáááºáá localhost
. á€á¡ááŒá±á¬ááºážááᯠáá±á¬ááºá០áááºááŒá±á¬áá«á)
áá«á á¡áááºážáá°áááºá
SmartStack ááẠIstioá Linkerd ááŸáá·áº Consul Connect áá²á·ááá¯á·áá±á¬ á áá áºáá»á¬ážá ááŸá±á·áá¬áá±á¬ááºáááºááœá²áá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºáᯠáá»áœááºá¯ááºááá¯ááºááá¯ááºááá¯ááºáá»áá°ááá«áááºá
- node áá áºáá¯á á®ááœáẠproxy ááá¯ááœáá·áºáá«á
- áá±á¬ááºáááºáá»á¬ážááẠááá±á¬ááºá á®ááá¯á· áá»áááºáááºáááºá
- áá±á¬ááºáá¶áá»á¬áž ááŒá±á¬ááºážáá²áá±á¬á¡áá« ááááºážáá»á¯ááºááŸá¯áá±áá¬ááºááẠááá±á¬ááºá á®ááœá²á·á ááºážáá¯á¶ááᯠá¡ááºááááºáá¯ááºáááºá
- ... á¡ááŒááºá¡á áœááºáž!
áá±ááºáá®áááºáá±á¬ááºááŸá¯ááœááºáá áºáᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá
ááá±á· áá»áœááºá¯ááºááá¯á·ááẠá¡áá¬ážáá°ááá¬ážááœááºáá
áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á«áºááẠááá¯á¡ááºáá«áá á¡áá¬ážáá°áá°áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±áá¬ááœááºáá»á¬ážááŸá ááááºá
á¬áá»á¬ážááá¯á· áááºáá±á¬ááºááŸá¯á¡áááºáá»á¬ážááᯠááŒá±áá¯á¶ááœá²ááŒááºážááŒáá·áº á¡ááœááºáž DNS áá¯ááºááᯠááŒááºáááºáááºááŸááºáá«á 127.0.0.0/8
. ááá¯á·áá±á¬áẠá¡á
á¯á¡áá±ážááŸá node áá
áºáá¯á
á®ááœáẠHAProxy ááá¯ááœáá·áºááŒá®áž áááºáá±á¬ááºááŸá¯ááááºá
á¬áá
áºáá¯á
á®ááœáẠáá»áááºáááºááŸá¯áá»á¬ážááᯠáááºáá¶ááŒááºáž (ááá¯ááœááºáááºááœá²á¡ááœááºážááŸá 127.0.0.0/8
) ááŸáá·áº ááá·áºáá»á±á¬áºáá±á¬ áá±á¬ááºááœááºá០áááºááᯠááŒááºááœáŸááºážááŒááºáž/áááºáá»ááºáá®ááŒááºážá HAProxy ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááᯠááááºážáá»á¯ááºááá¯ááºáááºá
áá«á Istio á¡áá¯ááºáá¯ááºáá¯á¶áá«áá²á áá«áá±ááá·áº ááœá²ááŒá¬ážááŸá¯ááœá±áá²á·
- á¡áá¯á¶ážáá»á¬ážáááºá
á¡áá°ážááá¯ááºá á¬ážááŸáẠááá±á¬ááºá á® HAProxy á¡á á¬áž - etcd ááá¯á·ááá¯áẠConsul á¡á á¬áž Kubernetes API ááŸáá áºááá·áº backend configuration ááᯠááááºážáááºážáááºá
- áááºáá±á¬ááºááŸá¯áá»á¬ážááẠ127.0.0.0/8 á¡á á¬áž á¡ááœááºážááá¯ááºážááœááºáááºááœá²áá»á¬áž (Kubernetes ClusterIP ááááºá á¬áá»á¬áž) ááœáẠááœá²áá±áá±ážáá¬ážááá·áº ááááºá á¬áá»á¬ážááŒá áºáááºá
- áááá¯ááºážááá·áºááŸáá·áºáá¬áá¬áá»á¬ážá¡ááŒá¬áž á¡ááŒááºá¡ááŸáẠTLS á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááá·áºááœááºážááẠáá±á¬ááºáááºá¡á áááºá¡ááá¯ááºážáá áºáᯠ(Citadel) ááŸááááºá
- circuit breakingá distribution tracingá canary deployment á¡á ááŸáááá·áº á¡ááºá¹áá«áááºá¡áá áºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
ááœá¬ááŒá¬ážáá»ááºá¡áá»áá¯á·ááᯠá¡ááŒááºááŒáá·áºááŒáá«á áá¯á·á
á¡áá°ážááá¯ááºá á¬ážááŸáẠááá±á¬ááºá á®
Envoy Proxy ááᯠLyft [ááá¹áá á®á á»á±ážááœááºááœáẠUber áááŒáá¯ááºááẠ- ááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áºáá±ážáá¬ážáá²á·áááºá áááºážááœá¬áž]á á¡ááŒá¬áž proxy áá»á¬áž (á¥ááᬠHAProxyá Nginxá Traefik...) ááŸáá·áº áá»á¬ážá áœá¬ áááºáá°áá±á¬áºáááºáž Lyft ááẠá¡ááŒá¬áž proxy áá»á¬áž áá»áá¯á·áá²á·áá±á¬ á¡ááºá¹áá«áááºáá»á¬áž ááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠáá±ážáá¬ážáá²á·ááŒá®áž ááŸáááŒá®ážáá¬ážáá áºáá¯á¡á¬áž ááá¯ážáá»á²á·ááŒááºážááẠá¡áá áºáá áºáá¯ááŒá¯áá¯ááºááẠááá¯á áááºáá»áá¯á¶ááááºá
Envoy ááᯠáá°á·áá¬áá¬áá° áá¯á¶ážááá¯ááºáááºá á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áºáá»áááºáááºááẠááá¯á¡ááºááá·áº áá®ážááŒá¬ážáááºáá±á¬ááºááŸá¯áá áºáᯠáá»áœááºá¯ááºááœááºááŸááá«áá ááŒááºááá¯ááºááŸá¯áá²á·ááá¯á·áá±á¬ áá±á¬ááºáááºáá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážá áœá¬ááᯠáááŸááá±áá»áááºááœáẠEnvoy ááŸáá·áº áá»áááºáááºááẠáááºážááᯠá á®á ááºáááºááŸááºááá¯ááºááŒá®áž Envoy ááᯠá¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážá áááºáá±áá¬ááŒáá·áº ááŒá±á¬ááºážáá²áááºááŸááºáᬠááŒááºáááºááœá²á·á ááºážááá¯ááºáááºá á áááºááŒáá¯ááºá¡áá¯á¶ážááŒá¯áá° áá áºáá»á áºááá¯ááºáá áºáᯠááá¯á·ááá¯áẠáá¯ááºáá²ááá¯á· áá±á«áºááá¯ááŸá¯ááŒá±áá¬áá¶áá»á¬ážááᯠááá·áºááœááºážááá·áºá¡á á¬ážá áá»áœááºá¯ááºááá¯á·ááẠEnvoy ááá¯á· á¡ááœá¬ážá¡áá¬áá»á¬ážááᯠáá±ážááá¯á·ááŒá®áž áááºážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáááºááá áºáá»á¬ážááᯠá á¯áá±á¬ááºážáá«áááºá
áá«áá±ááá·áº Envoy ááŸá¬áááºáž á¡áá¯áẠáá¯ááºááá¯ááºá áœááºážááŸááá«áááºá áá±áá¬áá±áá¬áẠáááºáá±á¬ááºááŸá¯ááœááºá¡ááœáẠ(áá±áá¬áá±áá¬ááº)á ááá¯ááá¯áááºááŸá¬ Envoy ááẠá€áááºáá±á¬ááºááŸá¯ mesh á¡ááœáẠááᯠááŒááºáááºáááºááŸááºáá¬ážáá«áááºá áá±áá¬ááºááááºážáá»á¯ááºááŸá¯ (áá±áá¬ááºááááºáž)á
áá±áá¬ááºááááºáž
ááááºážáá»á¯ááºáá±ážáá±áá¬ááºá¡ááœááºá Istio ááẠKubernetes API ááᯠá¡á¬ážááá¯ážáááºá áá«á confd áá¯á¶ážáá¬áá²á· ááááºáááœá¬ááŒá¬ážáá«áá°ážááá±áá¬á ááá¯ážááŸá áá±á¬á·á¡á á¯á¶ááᯠááŒáá·áºááŸá¯ááẠetcd ááá¯á·ááá¯áẠáá±á¬ááºá á áºáááºá¡áá±á«áº ááŸá®ááá¯áá±ááá«áááºá Istio ááẠKubernetes á¡áááºážá¡ááŒá áºáá»á¬ážááᯠááŒáá·áºááŸá¯ááẠKubernetes API ááᯠá¡áá¯á¶ážááŒá¯áááºá
áá®ááŒá¬ážáá²: áá®á¡áá¯á¶ážáááºáá¬ááᯠáá»áœááºáá±á¬áº ááá¯ááºááá¯ááºááá¯ááºáá» ááœá±á·ááŸááá²á·áá«áááºá
Kubernetes API áá¬áá¬ááẠAPI á¡áááºážá¡ááŒá áºáá»á¬ážá¡ááœáẠááá¯ááŸá±á¬ááºááŸá¯á áá¬ážááŸááºážáá¯ááºáá¯ááºááŒááºážá ááá¬ážáááºááŒááºážá ááœááºážáá¶ááŒááºážááŸáá·áº á¡áááá¹áá«ááºáááºááŸááºáá»ááºáá»á¬ážááᯠáá±ážáá±á¬ááºááá·áº "ááá¯ááºáá²áá±á¬áá¬áá¬" ááŒá áºáááºá
Istio ááẠKubernetes ááŸáá·áº á¡áá¯ááºáá¯ááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá áááºážááᯠKubernetes ááŒááºáááœáẠáááºá¡áá¯á¶ážááŒá¯ááá¯áá«á Kubernetes API áá¬áᬠ(ááŸáá·áº etcd helper áááºáá±á¬ááºááŸá¯) á á¥ááá¬áá áºáá¯ááᯠáááºáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá
áááºáá±á¬ááºááŸá¯ááááºá á¬áá»á¬áž
Istio ááẠKubernetes ááœá²áá±áá±ážááá·áº ClusterIP ááááºá
á¬áá»á¬ážááᯠááŸá®ááá¯áá±ááá±á¬ááŒá±á¬áá·áº Istio áááºáá±á¬ááºááŸá¯áá»á¬ážááẠá¡ááœááºážááááºá
á¬ááᯠáááºáá¶áááŸáááẠ(á¡ááœá¬á¡áá±ážá¡ááœááºážááá¯ááºáá« 127.0.0.0/8
).
Istio ááá«áá² Kubernetes á¡á á¯á¡áá±ážááŸá áááºááŸááºáá¬ážáá±á¬ áááºáá±á¬ááºááŸá¯áá áºáá¯á¡ááœáẠClusterIP ááááºá á¬ááá¯á· áááºážááŒá±á¬ááºážá¡ááœá¬ážá¡áá¬ááᯠkube-proxy á០ááŒá¬ážááŒááºááŒá®áž ááá¯ááá±á¬ááºá á®á áá±á¬ááºáá¶ááá¯á· áá±ážááá¯á·áááºá áááºážááá¬ááá¯ááºáá¬á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºá áááºáááºá á¬ážáá«áá Kube-proxy ááẠiptables á ááºážáá»ááºážáá»á¬áž (ááá¯á·ááá¯áẠIPVS ááœáẠááá·áºááœááºážáá¬ážááá·áºáá¯á¶á á¶áá±á«áºáá°áááºá) áá»áááºááœááºáá»áŸá¬ááᯠClusterIP ááááºá á¬ááá¯á·ááœá¬ážááá·áº áá»áááºáááºááŸá¯áá»á¬ážá áŠážáááºáᬠIP ááááºá á¬áá»á¬ážááᯠááŒááºáááºáá±ážááẠáááºááŸááºáá±ážáá«áááºá
Istio ááᯠKubernetes á¡á
á¯á¡áá±ážááœáẠááá·áºááœááºážááŒá®ážáááºááŸáá·áºá ááœááºááááºáá¬ááᯠááááºáááºáá±ážááŒááºážááŒáá·áº áá¯á¶ážá
áœá²áá°áá
áºáŠážá¡ááœáẠááá¯á·ááá¯áẠnamespace áá
áºáá¯áá¯á¶ážááᯠáááá»ááŒááºáá¬ážá
áœá¬ ááœáá·áºááá¬ážááá·áºááá¯ááºá¡á±á¬áẠáááºážááᯠáááºááá·áºá¡áá¬á០ááŒá±á¬ááºážáá²áááºááá¯ááºáá±á sidecar
á
áááºááŒáá¯áẠpods áá»á¬ážáá²ááá¯á·á á€ááœááºááááºáá¬ááẠEnvoy á á
á¶ááá°áá¬ááᯠááŸáá·áºáááºááŒá®áž á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááá¯á· ááœá¬ážáá±áá±á¬ á¡ááœá¬ážá¡áá¬ááᯠááŒá¬ážááŒááºáᬠááá¯áááºážááŒá±á¬ááºážá¡á¬áž Envoy ááá¯á· ááŒááºááœáŸááºážááẠiptables á
ááºážáá»ááºážáá»á¬áž á¡á
á¯á¶ááá¯ááºááᯠáááºáá±á¬ááºáá«áááºá
Kubernetes DNS ááŸáá·áº áá±á«ááºážá
ááºážááá¯ááºáá±á¬á¡áá«á ááá¯ááá¯áááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááá¯ááºááẠáááºáá±á¬ááºááŸá¯á¡áááºááŒáá·áº áá»áááºáááºááá¯ááºááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááẠâá¡áááºááŒá±áááºâ áᯠááá¯ááá¯áá«áááºá áá
áºáááºážááá¯ááá±á¬áº áá»áœááºá¯ááºááá¯á·á áá¯ááºááẠáá²á·ááá¯á·áá±á¬ áá±ážááœááºážáá»á¬ážááᯠáá¯ááºáá±ážáá«áááºá http://api/v1/users/4242
ááá¯á·áá±á¬áẠapi
áá±á¬ááºážááá¯ááŸá¯ááá¯ááŒá±ááŸááºážáá«á 10.97.105.48
iptables á
ááºážáá»ááºážáá»á¬ážááẠ10.97.105.48 á០áá»áááºáááºááŸá¯áá»á¬ážááᯠááŒá¬ážááŒááºááŒá®áž áááºážááá¯á·á¡á¬áž áá±áááœááºáž Envoy proxy ááá¯á· áá±ážááá¯á·áááºááŒá
áºááŒá®ážá ááá¯áá±ááᶠproxy ááẠáá±á¬ááºážááá¯áá»ááºááᯠá¡ááŸááºáááẠbackend API ááá¯á· áá±ážááá¯á·áááºááŒá
áºáááºá áá°áž!
á¡ááá¯á¡ááá¯ááá¹ááá»á¬áž
Istio ááẠmTLS (mutual TLS) ááŸáá áºááá·áº á¡áá¯á¶ážááŸá¡áá¯á¶ážáá áá¯ááºááŸááºááŒááºážááŸáá·áº á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááᯠáá±ážáá«áááºá á¡á áááºá¡ááá¯ááºážáá¯áá±á«áºáááºá Citadel.
á¡á áááºá¡ááá¯ááºážáá áºáá¯áááºáž ááŸááá«áááºá áá±á¬á ááºáá¬Envoy á áá±á¬ááºážááá¯ááá¯ááºáááºá áá áºáá¯áá»ááºážá á®ááᯠáá±á«ááºážá á®ážáá»á¬ážá backend load á áááºááŒáá·áº á¡áá»áá¯ážáá»áá¯ážáá±á¬á¡áá»ááºáá»á¬ážáá±á«áºáá°áááºá á¡ááá¯áá«áá±á¬ááºážááá¯ááŸá¯ááŸáá·áºáááºáááºááŒá®áž á¡áá°ážáá¯á¶ážááŒááºáá»ááºáá áºáá¯áá»ááẠáá±á¬ááºážááá¯áá« (á áááºááá°áá«ááŸáá·áº- Mixer áááºáááºáá±á á±ááẠáááºážáááºážáá»á¬ážá áœá¬ááŸááá«áááºá áá»ááºááœá¬ážáá»áŸááºááẠEnvoy ááẠáááºáááºá¡áá¯ááºáá¯ááºáá±áááºááŒá áºáá«áááºá proxy á¡ááŒá Ạáááºááœá±áá±á¬ááºáá«á)
ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠááŒááºááá¯ááºá áœááºážááᯠáá±á¬áºááŒáá²á·áááº- Envoy ááẠááŒáá·áºáá±ááŒá±áá¬áá¶ááŒááºážááᯠáá¶á·ááá¯ážáá±ážá ááºááœáẠáááºááá áºááá¬ááá»á¬ážá áœá¬ááᯠá á¯áá±á¬ááºážáá«áááºá microservices áááá¯áá¬áá áºáá¯ááœááºá API áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááẠmicroservices Aá Bá Cá D ááŸáááá·áºááŒááºáááºážááá«áá áááºáá±á¬ááºááá·áºá¡áá«ááœááºá ááŒáá·áºáá±áá¬ážáá±á¬ááŒá±áá¬áá¶ááŒááºážááẠáá±á¬ááºážááá¯áá»ááºááœáẠáá°ážááŒá¬ážáá±á¬ identifier ááᯠáá±á«ááºážááá·áºáááºááŒá áºááŒá®áž ဠmicroservices áá»á¬ážá¡á¬ážáá¯á¶ážáᶠáá±á¬ááºážááá¯áá»ááºááœá²áá»á¬ážááŸáá áºááá·áº ဠidentifier ááᯠááááºážáááºážááœá¬ážáááºááŒá áºáá«áááºá áááºá ááºáá±á«áºááá¯ááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááºážáá°áááºá ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážá á áááºááá¯á·á
ááœá¶á·ááŒáá¯ážááá¯ážáááºááẠááá¯á·ááá¯áẠáááºáá°áá«á
Istio ááẠááŸá¯ááºááœá±ážááŒááºážá¡ááœáẠáá¬áááºáá±á¬ááºážááŸááááºá ááá·áºáá»ááºáááºá¡áá±ááŸáá·áºá á€ááá¯á·á áºáá¡á ááœáẠáá»áœááºá¯ááºáá±á¬áºááŒáá¬ážáá±á¬ áááºážááŒá±á¬ááºážááŒááœááºááᯠáááºáá±á¬ááºááŒááºážááẠááŸáááŒá®ážáá¬ážáááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡áá±á¬áºáá±ážááá¯ážááŸááºážáá«áááºá ááá¯á·ááŒá±á¬áá·áºá ááá·áºááá¯ááºááá¯áẠáááºáá±á¬ááºááŸá¯ mesh ááᯠáááºáá®ážááŒááºážááẠá¡áááá¹áá¬ááºááŸááá«ááá¬ážá
á¡áááºá áá»áœááºá¯ááºááá¯á·ááœáẠáá»áá¯ážááœá¶áá±á¬ ááá¯á¡ááºáá»ááºáá»á¬áž (áá»áœááºá¯ááºááá¯á·ááẠááŒááºááá¯ááºá áœááºážá circuit breaker ááŸáá·áº á¡ááŒá¬ážáá±á¬ ááááá¬ááºáá»á¬áž áááá¯á¡ááºáá«) ááá¯áá»áŸáẠáá»áœááºá¯ááºááá¯á·á ááá¯ááºááá¯áẠtool ááᯠáá®ááœááºááẠá¡ááœá±ážáá»á¬áž áá±á«áºáá¬áá«áááºá ááá¯á·áá±á¬áº Kubernetes ááá¯á¡áá¯á¶ážááŒá¯áá«á Kubernetes ááẠáááºáá±á¬ááºááŸá¯ááŸá¬ááœá±ááœá±á·ááŸáááŸá¯ááŸáá·áº load áá»áááºááœááºáá»áŸá¬á¡ááœáẠá¡ááŒá±áá¶áááááá¬áá»á¬ážááᯠáá±ážáá±á¬ááºáá¬ážááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº áááºážááẠáááá¯á¡ááºáá±á¬á·áá±á
ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááœáẠá¡ááá·áºááŒáá·áºááá¯á¡ááºáá»ááºáá»á¬ážááŸááá«á áááºáá±á¬ááºááŸá¯ááœááºáá áºáᯠ"áááºáá°ááŒááºáž" ááẠáá»á¬ážá áœá¬ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ááœá±ážáá»ááºááŸá¯ááŒá áºáá¯á¶ááááºá ( Istio ááẠopen source ááŒá áºáá±á¬ááŒá±á¬áá·áº á¡ááŒá²áááºáž "áááºáááº" ááá¯ááºáá«á ááá¯á·áá±á¬áº áááºážááᯠáá¬ážáááºáááºá á¡áá¯á¶ážáá»áááºááŸáá·áº á á®áá¶ááá·áºááœá²ááẠá¡ááºáá»ááºáá®áá¬ááá¯ááºáᬠá¡áá»áááºááᯠáááºážááŸá®ážááŒáŸááºááŸá¶ááẠááá¯á¡ááºáá±áá±ážáááºá)
Istioá Linkerd ááá¯á·ááá¯áẠConsul Connect ááᯠááœá±ážáá»ááºááá·áºáá«ááá¬ážá
ááá¯á¡áá»áááºá¡áá áá»áœááºá¯ááºááá¯á·ááẠIstio á¡ááŒá±á¬ááºážááá¯áᬠááŒá±á¬áá²á·ááŒá®ážááŒá
áºáá±á¬áºáááºáž áááºážááẠáá
áºáá¯áááºážáá±á¬ áááºáá±á¬ááºááŸá¯ááœááºááá¯ááºáá±á áá°ááŒáá¯ááºáá»á¬ážáá±á¬ á¡ááŒá¬ážááœá±ážáá»ááºá
áᬠ-
á¡áááºá¡áá¬ááá¯ááœá±ážáá»ááºááá¯á·?
ááá¯ážááá¯ážáá¬ážáá¬ážááŒá±á¬áááẠááááá°ážá áá±á¬áá±á¬áááºáá±á¬á· áá®áá±ážááœááºážááᯠááŒá±ááá¯á· áá¯á¶áá±á¬ááºáá²á· á¡áááºá¡áá»ááºážáááŸááá°ážááá¯á· áááºáá«áááºá á¡áááºážáááºááŸááá«áááºá
á¡áá¬ážá¡áá¬ááŸááá±á¬ áá»ááºážáááºáááºážáá
áºáá¯ááŸá¬ áááááá¬áá²á·ááá¯á·áá±á¬ áááááá¬ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒá
áºáááºá
áá« Istio ááŸáá·áº SuperGloo ááá¯á·ááŸáá·áº á¡áááºážááẠáá±á¬ááŸá±á¬áá²á·ááŒá®ážá áá±á¬ááºáá±á¬ááºážáá«ážááœáẠáá« SuperGloo ááᯠá¡áá¯á¶ážááŒá¯á ááŸáááŒá®ážáá¬áž á¡á
á¯á¡áá±ážáá
áºáá¯ááá¯á· Istio ááá¯á·ááá¯áẠLinkerd ááᯠáááºááá¯á·ááá·áºááááºááᯠááŒáááá¯ááŒá®áž áááºážááẠá¡áá¯ááºá០áááºáá²á·ááá¯á· ááŒá±á¬ááºážááá¯ááºáááºááᯠááŒáááá¯áá«áááºá áááºáá±á¬ááºááŸá¯áá
áºáá¯ááẠááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶áá»á¬ážááᯠáááºááá±ážáá² á¡ááŒá¬ážáá
áºáá¯ááá¯á· áá»áááºáááºáá«á
source: www.habr.com