ืžื˜ื•ืก ืจืฉืช ืฉื™ืจื•ืช ืžื•ืœ ืžื™ืฉื•ืจ ื‘ืงืจื”

ื”ื™ื™ ื”ื‘ืจ! ืื ื™ ืžืฆื™ื’ ืœืชืฉื•ืžืช ืœื‘ืš ืืช ื”ืชืจื’ื•ื ืฉืœ ื”ืžืืžืจ "ืžื™ืฉื•ืจ ื ืชื•ื ื™ื ืฉืœ ืจืฉืช ืฉื™ืจื•ืช ืœืขื•ืžืช ืžื™ืฉื•ืจ ื‘ืงืจื”" ื”ืžื—ื‘ืจ ืžืื˜ ืงืœื™ื™ืŸ.

ืžื˜ื•ืก ืจืฉืช ืฉื™ืจื•ืช ืžื•ืœ ืžื™ืฉื•ืจ ื‘ืงืจื”

ื”ืคืขื, "ืจืฆื™ืชื™ ื•ืชืจื’ืžืชื™" ืืช ื”ืชื™ืื•ืจ ืฉืœ ืฉื ื™ ืจื›ื™ื‘ื™ ืจืฉืช ื”ืฉื™ืจื•ืช, ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ื•ืžื™ืฉื•ืจ ื”ื‘ืงืจื”. ื”ืชื™ืื•ืจ ื”ื–ื” ื ืจืื” ืœื™ ื”ืžื•ื‘ืŸ ื•ื”ืžืขื ื™ื™ืŸ ื‘ื™ื•ืชืจ, ื•ื”ื›ื™ ื—ืฉื•ื‘ ื”ื•ื‘ื™ืœ ืœื”ื‘ื ื” ืฉืœ "ื”ืื ื–ื” ื ื—ื•ืฅ ื‘ื›ืœืœ?"

ื›ื›ืœ ืฉื”ืจืขื™ื•ืŸ ืฉืœ "ืจืฉืช ืฉื™ืจื•ืช" ื”ืคืš ืœืคื•ืคื•ืœืจื™ ื™ื•ืชืจ ื•ื™ื•ืชืจ ื‘ืžื”ืœืš ื”ืฉื ืชื™ื™ื ื”ืื—ืจื•ื ื•ืช (ืžืืžืจ ืžืงื•ืจื™ 10 ื‘ืื•ืงื˜ื•ื‘ืจ 2017) ื•ืžืกืคืจ ื”ืžืฉืชืชืคื™ื ื‘ื—ืœืœ ื’ื“ืœ, ืจืื™ืชื™ ืขืœื™ื™ื” ืชื•ืืžืช ื‘ื‘ืœื‘ื•ืœ ื‘ืงืจื‘ ื›ื•ืœื ืงื”ื™ืœื” ื˜ื›ื ื•ืœื•ื’ื™ืช ืœื’ื‘ื™ ืื™ืš ืœื”ืฉื•ื•ืช ื•ืœื”ื‘ื“ื™ืœ ื‘ื™ืŸ ืคืชืจื•ื ื•ืช ืฉื•ื ื™ื.

ืืช ื”ืžืฆื‘ ืžืชืžืฆื” ื‘ืฆื•ืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื‘ืกื“ืจืช ื”ืฆื™ื•ืฆื™ื ื”ื‘ืื” ืฉื›ืชื‘ืชื™ ื‘ื™ื•ืœื™:

ื‘ืœื‘ื•ืœ ืจืฉืช ืฉื™ืจื•ืช ืžืก' 1: Linkerd ~ = Nginx ~ = Haproxy ~ = ืฉืœื™ื—. ืืฃ ืื—ื“ ืžื”ื ืœื ืฉื•ื•ื” ืœืื™ืกื˜ื™ื•. ืื™ืกื˜ื™ื• ื–ื” ืžืฉื”ื• ืื—ืจ ืœื’ืžืจื™. 1 /

ื”ืจืืฉื•ื ื™ื ื”ื ืคืฉื•ื˜ ืžื˜ื•ืกื™ ื ืชื•ื ื™ื. ืœื‘ื“ ื”ื ืœื ืขื•ืฉื™ื ื›ืœื•ื. ื”ื ื‘ื˜ื— ื‘ืžืฆื‘ ืจื•ื— ืœืžืฉื”ื• ื ื•ืกืฃ. 2/

Istio ื”ื•ื ื“ื•ื’ืžื” ืœืžื™ืฉื•ืจ ื‘ืงืจื” ื”ืงื•ืฉืจ ืืช ื”ื—ืœืงื™ื ื™ื—ื“. ื–ื•ื”ื™ ืฉื›ื‘ื” ื ื•ืกืคืช. /ืกื•ึนืฃ

ื”ืฆื™ื•ืฆื™ื ื”ืงื•ื“ืžื™ื ืžื–ื›ื™ืจื™ื ื›ืžื” ืคืจื•ื™ืงื˜ื™ื ืฉื•ื ื™ื (Linkerd, NGINX, HAProxy, Envoy ื•-Istio), ืืš ื—ืฉื•ื‘ ืžื›ืš ืžืฆื™ื’ื™ื ืืช ื”ืžื•ืฉื’ื™ื ื”ื›ืœืœื™ื™ื ืฉืœ ืžื™ืฉื•ืจ ื ืชื•ื ื™ื, ืจืฉืช ืฉื™ืจื•ืช ื•ืžื™ืฉื•ืจ ื‘ืงืจื”. ื‘ืคื•ืกื˜ ื”ื–ื” ืืงื— ืฆืขื“ ืื—ื•ืจื” ื•ืื“ื‘ืจ ืขืœ ืžื” ืื ื™ ืžืชื›ื•ื•ืŸ ื‘ืžื•ื ื—ื™ื "ืžื™ืฉื•ืจ ื ืชื•ื ื™ื" ื•"ืžื˜ื•ืก ื‘ืงืจื”" ื‘ืจืžื” ื’ื‘ื•ื”ื” ืžืื•ื“, ื•ืื– ืื“ื‘ืจ ืขืœ ืื™ืš ื”ืชื ืื™ื ื—ืœื™ื ืขืœ ื”ืคืจื•ื™ืงื˜ื™ื ื”ืžื•ื–ื›ืจื™ื ื‘ื˜ื•ื•ื™ื˜ื™ื.

ืžื”ื™ ื‘ืขืฆื ืจืฉืช ืฉื™ืจื•ืช?

ืžื˜ื•ืก ืจืฉืช ืฉื™ืจื•ืช ืžื•ืœ ืžื™ืฉื•ืจ ื‘ืงืจื”
ืื™ื•ืจ 1: ืกืงื™ืจืช ืจืฉืช ืฉื™ืจื•ืช

ื”ืื™ื•ืจ 1 ืžืžื—ื™ืฉ ืืช ื”ืจืขื™ื•ืŸ ืฉืœ ืจืฉืช ืฉื™ืจื•ืช ื‘ืจืžื” ื”ื‘ืกื™ืกื™ืช ื‘ื™ื•ืชืจ ืฉืœื”. ื™ืฉื ื ืืจื‘ืขื” ืืฉื›ื•ืœื•ืช ืฉื™ืจื•ืช (AD). ื›ืœ ืžื•ืคืข ืฉื™ืจื•ืช ืžืฉื•ื™ืš ืœืฉืจืช proxy ืžืงื•ืžื™. ื›ืœ ืชืขื‘ื•ืจืช ื”ืจืฉืช (HTTP, REST, gRPC, Redis ื•ื›ื•') ืžืžื•ืคืข ืืคืœื™ืงืฆื™ื” ื‘ื•ื“ื“ ืžื•ืขื‘ืจืช ื“ืจืš ืคืจื•ืงืกื™ ืžืงื•ืžื™ ืœืืฉื›ื•ืœื•ืช ื”ืฉื™ืจื•ืช ื”ื—ื™ืฆื•ื ื™ื™ื ื”ืžืชืื™ืžื™ื. ื‘ื“ืจืš ื–ื•, ืžื•ืคืข ื”ืืคืœื™ืงืฆื™ื” ืื™ื ื• ืžื•ื“ืข ืœืจืฉืช ื›ื•ืœื” ื•ืจืง ืžื•ื“ืข ืœ-proxy ื”ืžืงื•ืžื™ ืฉืœื•. ืœืžืขืฉื”, ืจืฉืช ื”ืžืขืจื›ืช ื”ืžื‘ื•ื–ืจืช ื”ื•ืกืจื” ืžื”ืฉื™ืจื•ืช.

ืžื™ืฉื•ืจ ื ืชื•ื ื™ื

ื‘ืจืฉืช ืฉื™ืจื•ืช, ืฉืจืช ืคืจื•ืงืกื™ ื”ืžืžื•ืงื ื‘ืื•ืคืŸ ืžืงื•ืžื™ ืขื‘ื•ืจ ื”ืืคืœื™ืงืฆื™ื” ืžื‘ืฆืข ืืช ื”ืžืฉื™ืžื•ืช ื”ื‘ืื•ืช:

  • ื’ื™ืœื•ื™ ืฉื™ืจื•ืช. ืื™ืœื• ืฉื™ืจื•ืชื™ื/ืืคืœื™ืงืฆื™ื•ืช ื–ืžื™ื ื™ื ืขื‘ื•ืจ ื”ืืคืœื™ืงืฆื™ื” ืฉืœืš?
  • ื‘ื“ื™ืงืช ื‘ืจื™ืื•ืช. ื”ืื ืžื•ืคืขื™ ื”ืฉื™ืจื•ืช ืฉื”ื•ื—ื–ืจื• ืขืœ ื™ื“ื™ ื’ื™ืœื•ื™ ืฉื™ืจื•ืช ื‘ืจื™ืื™ื ื•ืžื•ื›ื ื™ื ืœืงื‘ืœ ืชืขื‘ื•ืจืช ืจืฉืช? ื–ื” ื™ื›ื•ืœ ืœื›ืœื•ืœ ื‘ื“ื™ืงื•ืช ื‘ืจื™ืื•ืช ืืงื˜ื™ื‘ื™ื•ืช (ืœืžืฉืœ ืชื’ื•ื‘ื”/ื‘ื“ื™ืงืช ื‘ืจื™ืื•ืช) ื•ืคืกื™ื‘ื™ื•ืช (ืœืžืฉืœ ืฉื™ืžื•ืฉ ื‘-3 ืฉื’ื™ืื•ืช 5xx ืจืฆื•ืคื•ืช ื›ืื™ื ื“ื™ืงืฆื™ื” ืœืžืฆื‘ ืฉื™ืจื•ืช ืœื ื‘ืจื™ื).
  • ื ื™ืชื•ื‘. ื›ืืฉืจ ืžืงื‘ืœื™ื ื‘ืงืฉื” ืœ-"/foo" ืžืฉื™ืจื•ืช REST, ืœืื™ื–ื” ืืฉื›ื•ืœ ืฉื™ืจื•ืชื™ื ื™ืฉ ืœืฉืœื•ื— ืืช ื”ื‘ืงืฉื”?
  • ืื™ื–ื•ืŸ ืขื•ืžืกื™ื. ืœืื—ืจ ื‘ื—ื™ืจืช ืืฉื›ื•ืœ ืฉื™ืจื•ืชื™ื ื‘ืžื”ืœืš ื”ื ื™ืชื•ื‘, ืœืื™ื–ื” ืžื•ืคืข ืฉื™ืจื•ืช ื™ืฉ ืœืฉืœื•ื— ืืช ื”ื‘ืงืฉื”? ืขื ืื™ื–ื” ืคืกืง ื–ืžืŸ? ืขื ืื™ืœื• ื”ื’ื“ืจื•ืช ืคืจื™ืฆืช ืžืขื’ืœ? ืื ื”ื‘ืงืฉื” ื ื›ืฉืœืช, ื”ืื ืœื ืกื•ืช ืื•ืชื” ืฉื•ื‘?
  • ืื™ืžื•ืช ื•ื”ืจืฉืื”. ื”ืื ืขื‘ื•ืจ ื‘ืงืฉื•ืช ื ื›ื ืกื•ืช, ื”ืื ื ื™ืชืŸ ืœื–ื”ื•ืช/ ืœืืฉืจ ืืช ื”ืฉื™ืจื•ืช ื”ืžืชืงืฉืจ ื‘ืืžืฆืขื•ืช mTLS ืื• ืžื ื’ื ื•ืŸ ืื—ืจ? ืื ื”ื•ื ืžื–ื•ื”ื”/ืžื•ืจืฉื”, ื”ืื ืžื•ืชืจ ืœื”ืชืงืฉืจ ืœืคืขื•ืœื” ื”ืžื‘ื•ืงืฉืช (ื ืงื•ื“ืช ื”ืงืฆื”) ื‘ืฉื™ืจื•ืช ืื• ืฉื™ืฉ ืœื”ื—ื–ื™ืจ ืชื’ื•ื‘ื” ืœื ืžืื•ืžืชืช?
  • ื™ื›ื•ืœืช ืชืฆืคื™ืช. ื™ืฉ ืœื”ืคื™ืง ื ืชื•ื ื™ื ืกื˜ื˜ื™ืกื˜ื™ื™ื ืžืคื•ืจื˜ื™ื, ื™ื•ืžื ื™ื/ื™ื•ืžื ื™ื ื•ื ืชื•ื ื™ ืžืขืงื‘ ืžื‘ื•ื–ืจื™ื ืขื‘ื•ืจ ื›ืœ ื‘ืงืฉื”, ื›ืš ืฉื”ืžืคืขื™ืœื™ื ื™ื•ื›ืœื• ืœื”ื‘ื™ืŸ ื–ืจื™ืžืช ืชืขื‘ื•ืจื” ืžื‘ื•ื–ืจืช ื•ื‘ืขื™ื•ืช ื ื™ืคื•ื™ ื‘ืื’ื™ื ื›ืฉื”ืŸ ืžืชืขื•ืจืจื•ืช.

ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ืื—ืจืื™ ืขืœ ื›ืœ ื”ื ืงื•ื“ื•ืช ื”ืงื•ื“ืžื•ืช ื‘ืจืฉืช ื”ืฉื™ืจื•ืช. ืœืžืขืฉื”, ื”-Proxy ื”ืžืงื•ืžื™ ืœืฉื™ืจื•ืช (Sidecar) ื”ื•ื ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ืื—ืจืื™ ืขืœ ืฉื™ื“ื•ืจ ืžื•ืชื ื”, ื”ืขื‘ืจื” ื•ื ื™ื˜ื•ืจ ืฉืœ ื›ืœ ื—ื‘ื™ืœืช ืจืฉืช ืฉื ืฉืœื—ืช ืœืฉื™ืจื•ืช ืื• ืžืžื ื•.

ืžื˜ื•ืก ื”ื‘ืงืจื”

ื”ืคืฉื˜ืช ื”ืจืฉืช ืฉืคืจื•ืงืกื™ ืžืงื•ืžื™ ืžืกืคืง ื‘ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ื”ื™ื ืงืกื•ืžื”(?). ืขื ื–ืืช, ื›ื™ืฆื“ ืœืžืขืฉื” ื™ื•ื“ืข ื”-Proxy ืขืœ ื”ืžืกืœื•ืœ "/foo" ืœืฉื™ืจื•ืช B? ื›ื™ืฆื“ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื ืชื•ื ื™ ื’ื™ืœื•ื™ ื”ืฉื™ืจื•ืช ื”ืžืื•ื›ืœืกื™ื ื‘ื‘ืงืฉื•ืช proxy? ื›ื™ืฆื“ ืžื•ื’ื“ืจื™ื ื”ืคืจืžื˜ืจื™ื ืœืื™ื–ื•ืŸ ืขื•ืžืกื™ื, ืคืกืง ื–ืžืŸ, ืฉื‘ื™ืจืช ืžืขื’ืœ ื•ื›ื•'? ืื™ืš ืคื•ืจืกื™ื ืืคืœื™ืงืฆื™ื” ื‘ืฉื™ื˜ืช ื›ื—ื•ืœ/ื™ืจื•ืง ืื• ื‘ืฉื™ื˜ืช ื”ืžืขื‘ืจ ืœืชืขื‘ื•ืจื” ื—ื™ื ื ื™ืช? ืžื™ ืžื’ื“ื™ืจ ืืช ื”ื’ื“ืจื•ืช ื”ืื™ืžื•ืช ื•ื”ื”ืจืฉืื” ื‘ื›ืœ ื”ืžืขืจื›ืช?

ื›ืœ ื”ืคืจื™ื˜ื™ื ื”ื "ืœ ื ืžืฆืื™ื ื‘ืฉืœื™ื˜ื” ืฉืœ โ€‹โ€‹ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ืฉืœ ืจืฉืช ื”ืฉื™ืจื•ืช. ืžื˜ื•ืก ื”ื‘ืงืจื” ืœื•ืงื— ืงื‘ื•ืฆื” ืฉืœ ืคืจื•ืงืกื™ ื—ืกืจื™ ืžื“ื™ื ื” ืžื‘ื•ื“ื“ื™ื ื•ื”ื•ืคืš ืื•ืชื ืœืžืขืจื›ืช ืžื‘ื•ื–ืจืช.

ืื ื™ ื—ื•ืฉื‘ ืฉื”ืกื™ื‘ื” ืฉื”ืจื‘ื” ื˜ื›ื ื•ืœื•ื’ื™ื ืžื•ืฆืื™ื ืืช ื”ืžื•ืฉื’ื™ื ื”ื ืคืจื“ื™ื ืฉืœ ืžื™ืฉื•ืจ ื ืชื•ื ื™ื ื•ืžื™ืฉื•ืจ ื‘ืงืจื” ืžื‘ืœื‘ืœื™ื ื”ื™ื ื‘ื’ืœืœ ืฉืขื‘ื•ืจ ืจื•ื‘ ื”ืื ืฉื™ื ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ืžื•ื›ืจ ื‘ืขื•ื“ ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื–ืจ/ืœื ืžื•ื‘ืŸ. ืื ื—ื ื• ืขื•ื‘ื“ื™ื ืขื ื ืชื‘ื™ ืจืฉืช ืคื™ื–ื™ื™ื ื•ืžืชื’ื™ื ื›ื‘ืจ ื–ืžืŸ ืจื‘. ืื ื• ืžื‘ื™ื ื™ื ืฉื—ื‘ื™ืœื•ืช/ื‘ืงืฉื•ืช ืฆืจื™ื›ื•ืช ืœืขื‘ื•ืจ ืžื ืงื•ื“ื” A ืœื ืงื•ื“ื” B ื•ื›ื™ ืื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ื—ื•ืžืจื” ื•ื‘ืชื•ื›ื ื” ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช. ื”ื“ื•ืจ ื”ื—ื“ืฉ ืฉืœ ืคืจื•ืงืกื™ ืชื•ื›ื ื” ื”ื ืคืฉื•ื˜ ื’ืจืกืื•ืช ืžื”ื•ื“ืจื•ืช ืฉืœ ื”ื›ืœื™ื ืฉื‘ื”ื ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื›ื‘ืจ ื”ืจื‘ื” ื–ืžืŸ.

ืžื˜ื•ืก ืจืฉืช ืฉื™ืจื•ืช ืžื•ืœ ืžื™ืฉื•ืจ ื‘ืงืจื”
ืื™ื•ืจ 2: ืžื˜ื•ืก ืฉืœื™ื˜ื” ืื ื•ืฉื™

ืขื ื–ืืช, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžื˜ื•ืกื™ ื‘ืงืจื” ื›ื‘ืจ ื–ืžืŸ ืจื‘, ืœืžืจื•ืช ืฉืจื•ื‘ ืžืคืขื™ืœื™ ื”ืจืฉืช ืขืฉื•ื™ื™ื ืœื ืœืฉื™ื™ืš ื—ืœืง ื–ื” ืฉืœ ื”ืžืขืจื›ืช ืœืจื›ื™ื‘ ื˜ื›ื ื•ืœื•ื’ื™ ื›ืœืฉื”ื•. ื”ืกื™ื‘ื” ืคืฉื•ื˜ื”:
ืจื•ื‘ ืžื˜ื•ืกื™ ื”ื‘ืงืจื” ื”ื ืžืฆืื™ื ื‘ืฉื™ืžื•ืฉ ื”ื™ื•ื ื”ื... ืื ื—ื ื•.

ืขืœ ืื™ื•ืจ 2 ืžืจืื” ืืช ืžื” ืฉืื ื™ ืžื›ื ื” "ืžื™ืฉื•ืจ ื”ืฉืœื™ื˜ื” ื”ืื ื•ืฉื™". ื‘ืกื•ื’ ื–ื” ืฉืœ ืคืจื™ืกื”, ืฉืขื“ื™ื™ืŸ ื ืคื•ืฅ ืžืื•ื“, ืžืคืขื™ืœ ืื ื•ืฉื™ ื›ื ืจืื” ื ืจื’ืŸ ื™ื•ืฆืจ ืชืฆื•ืจื•ืช ืกื˜ื˜ื™ื•ืช - ืคื•ื˜ื ืฆื™ืืœื™ื•ืช ื‘ืืžืฆืขื•ืช ืกืงืจื™ืคื˜ื™ื - ื•ืคื•ืจืก ืื•ืชืŸ ื“ืจืš ืื™ื–ืฉื”ื• ืชื”ืœื™ืš ืžื™ื•ื—ื“ ืœื›ืœ ื”-proxies. ืœืื—ืจ ืžื›ืŸ ื”-proxys ืžืชื—ื™ืœื™ื ืœื”ืฉืชืžืฉ ื‘ืชืฆื•ืจื” ื–ื• ื•ืžืชื—ื™ืœื™ื ืœืขื‘ื“ ืืช ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ื”ื”ื’ื“ืจื•ืช ื”ืžืขื•ื“ื›ื ื•ืช.

ืžื˜ื•ืก ืจืฉืช ืฉื™ืจื•ืช ืžื•ืœ ืžื™ืฉื•ืจ ื‘ืงืจื”
ืื™ื•ืจ 3: ืžื˜ื•ืก ื‘ืงืจื” ืฉืœ ืจืฉืช ืฉื™ืจื•ืช ืžืชืงื“ืžืช

ืขืœ ืื™ื•ืจ 3 ืžืฆื™ื’ ืืช ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื”"ืžื•ืจื—ื‘" ืฉืœ ืจืฉืช ื”ืฉื™ืจื•ืช. ื”ื•ื ืžื•ืจื›ื‘ ืžื”ื—ืœืงื™ื ื”ื‘ืื™ื:

  • ื”ืื“ื: ืขื“ื™ื™ืŸ ื™ืฉ ืื“ื (ื‘ืชืงื•ื•ื” ืฉืคื—ื•ืช ื›ื•ืขืก) ืฉืžืงื‘ืœ ื”ื—ืœื˜ื•ืช ื‘ืจืžื” ื’ื‘ื•ื”ื” ืœื’ื‘ื™ ื”ืžืขืจื›ืช ื›ื•ืœื”.
  • ืžืžืฉืง ืžืฉืชืžืฉ ื‘ืžื˜ื•ืก ื‘ืงืจื”: ืื“ื ืžืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืกื•ื’ ื›ืœืฉื”ื• ืฉืœ ืžืžืฉืง ืžืฉืชืžืฉ ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืžืขืจื›ืช. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืคื•ืจื˜ืœ ืื™ื ื˜ืจื ื˜, ื™ื™ืฉื•ื ืฉื•ืจืช ืคืงื•ื“ื” (CLI) ืื• ืžืžืฉืง ืื—ืจ. ื‘ืืžืฆืขื•ืช ืžืžืฉืง ื”ืžืฉืชืžืฉ, ืœืžืคืขื™ืœ ื™ืฉ ื’ื™ืฉื” ืœืคืจืžื˜ืจื™ื ื’ืœื•ื‘ืœื™ื™ื ืฉืœ ืชืฆื•ืจืช ื”ืžืขืจื›ืช ื›ื’ื•ืŸ:
    • ื‘ืงืจืช ืคืจื™ืกื”, ื›ื—ื•ืœ/ื™ืจื•ืง ื•/ืื• ืžืขื‘ืจ ืชื ื•ืขื” ื”ื“ืจื’ืชื™
    • ืืคืฉืจื•ื™ื•ืช ืื™ืžื•ืช ื•ื”ืจืฉืื”
    • ืžืคืจื˜ื™ ื˜ื‘ืœืช ื ื™ืชื•ื‘, ืœืžืฉืœ ื›ืืฉืจ ืืคืœื™ืงืฆื™ื” A ืžื‘ืงืฉืช ืžื™ื“ืข ืขืœ "/foo" ืžื” ืงื•ืจื”
    • ื”ื’ื“ืจื•ืช ืื™ื–ื•ืŸ ืขื•ืžืกื™ื, ื›ื’ื•ืŸ ืคืกืงื™ ื–ืžืŸ, ื ื™ืกื™ื•ื ื•ืช ื—ื•ื–ืจื™ื, ื”ื’ื“ืจื•ืช ืฉื‘ื™ืจืช ืžืขื’ืœื™ื ื•ื›ื•'.
  • ืžืชื–ืžืŸ ืขื•ืžืกื™ ืขื‘ื•ื“ื”: ื”ืฉื™ืจื•ืชื™ื ืžื•ืคืขืœื™ื ืขืœ ื”ืชืฉืชื™ืช ื‘ืืžืฆืขื•ืช ืกื•ื’ ื›ืœืฉื”ื• ืฉืœ ืžืขืจื›ืช ืชื–ืžื•ืŸ/ืชื–ืžื•ืจ, ื›ื’ื•ืŸ Kubernetes ืื• Nomad. ื”ืžืชื–ืžืŸ ืื—ืจืื™ ืœื˜ืขื™ื ืช ื”ืฉื™ืจื•ืช ื™ื—ื“ ืขื ื”-proxy ื”ืžืงื•ืžื™ ืฉืœื•.
  • ื’ื™ืœื•ื™ ืฉื™ืจื•ืช. ื›ืืฉืจ ื”ืžืชื–ืžืŸ ืžืชื—ื™ืœ ื•ืžืคืกื™ืง ืžื•ืคืขื™ ืฉื™ืจื•ืช, ื”ื•ื ืžื“ื•ื•ื— ืขืœ ืžืฆื‘ ื”ื‘ืจื™ืื•ืช ืœืžืขืจื›ืช ื’ื™ืœื•ื™ ื”ืฉื™ืจื•ืช.
  • ืžืžืฉืงื™ API ืฉืœ ืชืฆื•ืจืช Proxy Sidecar : ืคืจื•ืงืกื™ ืžืงื•ืžื™ื™ื ืžื—ืœืฆื™ื ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืžืฆื‘ ืžืžืจื›ื™ื‘ื™ ืžืขืจื›ืช ืฉื•ื ื™ื ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืžื•ื“ืœ ืขืงื‘ื™ ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืœืœื ื”ืชืขืจื‘ื•ืช ืžืคืขื™ืœ. ื”ืžืขืจื›ืช ื›ื•ืœื”, ื”ืžื•ืจื›ื‘ืช ืžื›ืœ ืžื•ืคืขื™ ื”ืฉื™ืจื•ืช ื”ืคื•ืขืœื™ื ื›ืขืช ื•ืฉืจืชื™ ืคืจื•ืงืกื™ ืžืงื•ืžื™ื™ื, ืžืชื›ื ืกืช ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืœืืงื•ืกื™ืกื˜ื ืื—ื“. ืžืžืฉืง ื”-API ืฉืœ ืžื˜ื•ืก ื”ื ืชื•ื ื™ื ื”ืื•ื ื™ื‘ืจืกืœื™ ืฉืœ Envoy ื”ื•ื ื“ื•ื’ืžื” ืื—ืช ืœืื•ืคืŸ ืฉื‘ื• ื–ื” ืขื•ื‘ื“ ื‘ืคื•ืขืœ.

ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ืžื˜ืจืช ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื”ื™ื ืœืงื‘ื•ืข ืืช ื”ืžื“ื™ื ื™ื•ืช ืฉื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืชืชืงื‘ืœ ืขืœ ื™ื“ื™ ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื. ืžื˜ื•ืกื™ ื‘ืงืจื” ืžืชืงื“ืžื™ื ื™ื•ืชืจ ื™ืกื™ืจื• ื™ื•ืชืจ ื—ืœืงื™ื ืžืžืขืจื›ื•ืช ืžืกื•ื™ืžื•ืช ืžื”ืžืคืขื™ืœ ื•ื™ื“ืจืฉื• ืคื—ื•ืช ืชืคืขื•ืœ ื™ื“ื ื™, ื‘ืชื ืื™ ืฉื”ื ืคื•ืขืœื™ื ื›ื”ืœื›ื”!...

ืžื™ืฉื•ืจ ื ืชื•ื ื™ื ื•ืžื™ืฉื•ืจ ื‘ืงืจื”. ืกื™ื›ื•ื ืžื™ืฉื•ืจ ื ืชื•ื ื™ื ืœืขื•ืžืช ืžื™ืฉื•ืจ ื‘ืงืจื”

  • ืžื˜ื•ืก ืจืฉืช ืฉื™ืจื•ืช: ืžืฉืคื™ืข ืขืœ ื›ืœ ื—ื‘ื™ืœื”/ื‘ืงืฉื” ื‘ืžืขืจื›ืช. ืื—ืจืื™ ืขืœ ื’ื™ืœื•ื™ ืืคืœื™ืงืฆื™ื”/ืฉื™ืจื•ืช, ื‘ื“ื™ืงืช ืชืงื™ื ื•ืช, ื ื™ืชื•ื‘, ืื™ื–ื•ืŸ ืขื•ืžืกื™ื, ืื™ืžื•ืช/ื”ืจืฉืื” ื•ืฆืคื™ื™ื”.
  • ืžื˜ื•ืก ื‘ืงืจืช ืจืฉืช ืฉื™ืจื•ืช: ืžืกืคืง ืžื“ื™ื ื™ื•ืช ื•ืชืฆื•ืจื” ืขื‘ื•ืจ ื›ืœ ืžื˜ื•ืกื™ ื”ื ืชื•ื ื™ื ื”ืคื•ืขืœื™ื ื‘ืจืฉืช ื”ืฉื™ืจื•ืช. ืœื ื ื•ื’ืข ื‘ืฉื•ื ื—ื‘ื™ืœื”/ื‘ืงืฉื” ื‘ืžืขืจื›ืช. ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื”ื•ืคืš ืืช ื›ืœ ืžื™ืฉื•ืจื™ ื”ื ืชื•ื ื™ื ืœืžืขืจื›ืช ืžื‘ื•ื–ืจืช.

ื ื•ืฃ ื”ืคืจื•ื™ืงื˜ ื”ื ื•ื›ื—ื™

ืœืื—ืจ ืฉื”ื‘ื ื• ืืช ื”ื”ืกื‘ืจ ืœืขื™ืœ, ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ืžืฆื‘ ื”ื ื•ื›ื—ื™ ืฉืœ ืคืจื•ื™ืงื˜ ืจืฉืช ื”ืฉื™ืจื•ืช.

  • ืžื˜ื•ืกื™ ื ืชื•ื ื™ื: Linkerd, NGINX, HAProxy, Envoy, Traefik
  • ืฉืœื™ื˜ื” ื‘ืžื˜ื•ืกื™ื: Istio, Nelson, SmartStack

ื‘ืžืงื•ื ืœื”ื™ื›ื ืก ืœื ื™ืชื•ื— ืžืขืžื™ืง ืฉืœ ื›ืœ ืื—ื“ ืžื”ืคืชืจื•ื ื•ืช ืœืขื™ืœ, ืืชื™ื™ื—ืก ื‘ืงืฆืจื” ืœื›ืžื” ืžื”ื ืงื•ื“ื•ืช ืฉืœื“ืขืชื™ ื’ื•ืจืžื•ืช ืœื”ืจื‘ื” ืžื”ื‘ืœื‘ื•ืœ ื‘ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ื›ืจื’ืข.

Linkerd ื”ื™ื” ืื—ื“ ืžืฉืจืชื™ ื”-Proxy ืฉืœ ืžื˜ื•ืก ื”ื ืชื•ื ื™ื ื”ืจืืฉื•ื ื™ื ืขื‘ื•ืจ ืจืฉืช ื”ืฉื™ืจื•ืช ื‘ืชื—ื™ืœืช 2016 ื•ืขืฉื” ืขื‘ื•ื“ื” ื ืคืœืื” ื‘ื”ืขืœืืช ื”ืžื•ื“ืขื•ืช ื•ืชืฉื•ืžืช ื”ืœื‘ ืœืžื•ื“ืœ ืขื™ืฆื•ื‘ ืจืฉืช ื”ืฉื™ืจื•ืช. ื›-6 ื—ื•ื“ืฉื™ื ืœืื—ืจ ืžื›ืŸ, Envoy ื”ืฆื˜ืจืฃ ืœ-Linkerd (ืื ื›ื™ ื”ื•ื ื”ื™ื” ืขื Lyft ืžืื– ืกื•ืฃ 2015). Linkerd ื•-Envoy ื”ื ืฉื ื™ ื”ืคืจื•ื™ืงื˜ื™ื ื”ืžื•ื–ื›ืจื™ื ืœืจื•ื‘ ื›ืืฉืจ ื“ื ื™ื ื‘ืจืฉืชื•ืช ืฉื™ืจื•ืช.

Istio ื”ื•ื›ืจื– ื‘ืžืื™ 2017. ื”ืžื˜ืจื•ืช ืฉืœ ืคืจื•ื™ืงื˜ Istio ื“ื•ืžื•ืช ืžืื•ื“ ืœืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื”ืžื•ืจื—ื‘ ื”ืžื•ืฆื’ ืื™ื•ืจ 3. Envoy for Istio ื”ื•ื ื”-proxy ื‘ืจื™ืจืช ื”ืžื—ื“ืœ. ืœืคื™ื›ืš, Istio ื”ื•ื ืžื™ืฉื•ืจ ื”ื‘ืงืจื”, ื•-Envoy ื”ื•ื ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื. ืชื•ืš ื–ืžืŸ ืงืฆืจ, Istio ื™ืฆืจื” ื”ืชืจื’ืฉื•ืช ืจื‘ื”, ื•ืžื˜ื•ืกื™ ื ืชื•ื ื™ื ืื—ืจื™ื ื”ื—ืœื• ืœื”ืฉืชืœื‘ ื›ืชื—ืœื™ืฃ ืœ-Envoy (ื’ื Linkerd ื•ื’ื NGINX ื”ื“ื’ื™ืžื• ืื™ื ื˜ื’ืจืฆื™ื” ืขื Istio). ื”ืขื•ื‘ื“ื” ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžื™ืฉื•ืจื™ ื ืชื•ื ื™ื ืฉื•ื ื™ื ื‘ืชื•ืš ืื•ืชื• ืžื™ืฉื•ืจ ื‘ืงืจื” ืคื™ืจื•ืฉื” ืฉืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื•ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ืื™ื ื ื‘ื”ื›ืจื— ืžื—ื•ื‘ืจื™ื ื‘ืฆื•ืจื” ื”ื“ื•ืงื”. API ื›ื’ื•ืŸ ื”-API ื”ื’ื ืจื™ ืฉืœ ืžื˜ื•ืก ื”ื ืชื•ื ื™ื ืฉืœ Envoy ื™ื›ื•ืœ ืœื™ืฆื•ืจ ื’ืฉืจ ื‘ื™ืŸ ืฉื ื™ ื—ืœืงื™ื ืฉืœ ื”ืžืขืจื›ืช.

ื ืœืกื•ืŸ ื•-SmartStack ืขื•ื–ืจื™ื ืœื”ืžื—ื™ืฉ ืขื•ื“ ื™ื•ืชืจ ืืช ื”ื”ืคืจื“ื” ื‘ื™ืŸ ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ืœืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื. ื ืœืกื•ืŸ ืžืฉืชืžืฉ ื‘-Envoy ื›ืคืจื•ืงืกื™ ืฉืœื• ื•ื‘ื•ื ื” ืžื™ืฉื•ืจ ื‘ืงืจื” ืืžื™ืŸ ืขื‘ื•ืจ ืจืฉืช ื”ืฉื™ืจื•ืช ื”ืžื‘ื•ืกืกืช ืขืœ ืžื—ืกื ื™ืช HashiCorp, ื›ืœื•ืžืจ. ื ื•ื•ื“ ื•ื›ื•'. SmartStack ื”ื™ื” ืื•ืœื™ ื”ืจืืฉื•ืŸ ืžืชื•ืš ื’ืœ ื—ื“ืฉ ืฉืœ ืจืฉืชื•ืช ืฉื™ืจื•ืช. SmartStack ื‘ื•ื ื” ืžื™ืฉื•ืจ ื‘ืงืจื” ืกื‘ื™ื‘ HAProxy ืื• NGINX, ื•ืžื“ื’ื™ื ืืช ื”ื™ื›ื•ืœืช ืœื ืชืง ืืช ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ืžืจืฉืช ื”ืฉื™ืจื•ืช ืžืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื.

ืืจื›ื™ื˜ืงื˜ื•ืจืช Microservice ืขื ืจืฉืช ืฉื™ืจื•ืช ื–ื•ื›ื” ืœื™ื•ืชืจ ื•ื™ื•ืชืจ ืชืฉื•ืžืช ืœื‘ (ื‘ืฆื“ืง!), ื•ื™ื•ืชืจ ื•ื™ื•ืชืจ ืคืจื•ื™ืงื˜ื™ื ื•ืกืคืงื™ื ืžืชื—ื™ืœื™ื ืœืคืขื•ืœ ื‘ื›ื™ื•ื•ืŸ ื”ื–ื”. ื‘ืžื”ืœืš ื”ืฉื ื™ื ื”ืงืจื•ื‘ื•ืช ื ืจืื” ื”ืจื‘ื” ื—ื“ืฉื ื•ืช ื”ืŸ ื‘ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ื•ื”ืŸ ื‘ืžื™ืฉื•ืจ ื”ื‘ืงืจื”, ื›ืžื• ื’ื ืขืจื‘ื•ื‘ ื ื•ืกืฃ ืฉืœ ืจื›ื™ื‘ื™ื ืฉื•ื ื™ื. ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื ืฆืจื™ื›ื” ืœื”ืคื•ืš ืœืฉืงื•ืคื” ื™ื•ืชืจ ื•ืงืกื•ืžื” (?) ืขื‘ื•ืจ ื”ืžืคืขื™ืœ.
ื ืงื•ื•ื” ืฉืคื—ื•ืช ื•ืคื—ื•ืช ืžืชืขืฆื‘ืŸ.

ื˜ื™ื™ืง ืื•ื•ื™ ืžืคืชื—

  • ืจืฉืช ืฉื™ืจื•ืช ืžื•ืจื›ื‘ืช ืžืฉื ื™ ื—ืœืงื™ื ืฉื•ื ื™ื: ืžื™ืฉื•ืจ ื”ื ืชื•ื ื™ื ื•ืžื™ืฉื•ืจ ื”ื‘ืงืจื”. ืฉื ื™ ื”ืจื›ื™ื‘ื™ื ื ื“ืจืฉื™ื, ื•ื‘ืœืขื“ื™ื”ื ื”ืžืขืจื›ืช ืœื ืชืขื‘ื•ื“.
  • ื›ื•ืœื ืžื›ื™ืจื™ื ืืช ืžื˜ื•ืก ื”ื‘ืงืจื”, ื•ื‘ืฉืœื‘ ื–ื”, ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืืชื”!
  • ื›ืœ ืžื˜ื•ืกื™ ื”ื ืชื•ื ื™ื ืžืชื—ืจื™ื ื–ื” ื‘ื–ื” ืขืœ ืชื›ื•ื ื•ืช, ื‘ื™ืฆื•ืขื™ื, ื”ื’ื“ืจื•ืช ื•ื™ื›ื•ืœืช ื”ืจื—ื‘ื”.
  • ื›ืœ ืžื˜ื•ืกื™ ื”ื‘ืงืจื” ืžืชื—ืจื™ื ื–ื” ื‘ื–ื” ื‘ืชื›ื•ื ื•ืช, ื™ื›ื•ืœืช ืชืฆื•ืจื”, ื”ืจื—ื‘ื” ื•ืงืœื•ืช ืฉื™ืžื•ืฉ.
  • ืžื™ืฉื•ืจ ื‘ืงืจื” ืื—ื“ ื™ื›ื•ืœ ืœื”ื›ื™ืœ ืืช ื”ื”ืคืฉื˜ื•ืช ื•ืืช ืžืžืฉืงื™ ื”-API ื”ื ื›ื•ื ื™ื ื›ืš ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจ ืžื™ืฉื•ืจื™ ื ืชื•ื ื™ื.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”