เจฐเจพเจœเจฆเฉ‚เจค. 1. เจœเจพเจฃ - เจชเจ›เจพเจฃ

เจจเจฎเจธเจ•เจพเจฐ! เจ‡เจน เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจฒเฉ‡เจ– เจนเฉˆ เจœเฉ‹ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจœเจตเจพเจฌ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ: "เจฆเฉ‚เจค เจ•เฉ€ เจนเฉˆ?", "เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ?" เจ…เจคเฉ‡ "เจ•เจฟเฉฑเจฅเฉ‡ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ?".

เจ‡เจน เจ•เฉ€ เจนเฉˆ?

เจฆเฉ‚เจค เจ‡เฉฑเจ• L4-L7 เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจนเฉˆ เจœเฉ‹ C++ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ…เจคเฉ‡ เจ‰เจชเจฒเจฌเจงเจคเจพ 'เจคเฉ‡ เจ•เฉ‡เจ‚เจฆเฉเจฐเจฟเจค เจนเฉˆเฅค เจ‡เฉฑเจ• เจชเจพเจธเฉ‡, เจ‡เจน เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ nginx เจ…เจคเฉ‡ haproxy เจฆเจพ เจ‡เฉฑเจ• เจเจจเจพเจฒเจพเจ— เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจคเฉเจฒเจจเจพเจคเจฎเจ•เฅค เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจ‡เจน เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจตเฉฑเจฒ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉ‡เจ‚เจฆเจฐเจฟเจค เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจœเจพเจตเจพ เจ…เจคเฉ‡ เจ—เฉ‹ เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจœเจผเฉเจฒ เจœเจพเจ‚ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเจพเจฒเฉ‹เจ‚ เจฎเจพเฉœเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

haproxy/nginx/envoy เจฆเฉ€ เจคเฉเจฒเจจเจพ เจธเจพเจฐเจฃเฉ€, เจ‡เจน เจชเฉ‚เจฐเจจ เจธเฉฑเจš เจนเฉ‹เจฃ เจฆเจพ เจฆเจพเจ…เจตเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€, เจชเจฐ เจ‡เฉฑเจ• เจ†เจฎ เจคเจธเจตเฉ€เจฐ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค

nginx
เจนเจพเจชเจฐเฉ‹เจ•เจธ
เจญเฉ‡เจœเจฟเจ†
เจŸเฉเจฐเฉˆเจซเจฟเจ•

github 'เจคเฉ‡ เจคเจพเจฐเฉ‡
11.2k/เจธเจผเฉ€เจธเจผเจพ
1.1k/เจธเจผเฉ€เจธเจผเจพ
12.4k
27.6k

เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ†
C
C
C ++
go

API
เจ•เฉ‹เจˆ เจตเฉ€
เจธเจฟเจฐเจซ เจธเจพเจ•เจŸ/เจชเฉเจธเจผ
เจกเฉˆเจŸเจพเจชเจฒเฉ‡เจจ/เจ–เจฟเฉฑเจšเฉ‹
เจ–เจฟเฉฑเจšเฉ‹

เจธเจฐเจ—เจฐเจฎ เจธเจฟเจนเจค เจœเจพเจ‚เจš
เจ•เฉ‹เจˆ เจตเฉ€
เจœเฉ€
เจœเฉ€
เจœเฉ€

เจ“เจชเจจ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ—
เจฌเจพเจนเจฐเฉ€ เจชเจฒเฉฑเจ—เจ‡เจจ
เจ•เฉ‹เจˆ เจตเฉ€
เจœเฉ€
เจœเฉ€

เจœเฉ‡เจกเจฌเจฒเจฏเฉ‚เจŸเฉ€
เจฌเจพเจนเจฐเฉ€ เจชเจฒเฉฑเจ—เจ‡เจจ
เจ•เฉ‹เจˆ เจตเฉ€
เจœเฉ€
เจ•เฉ‹เจˆ เจตเฉ€

เจเจ•เจธเจผเจŸเฉ‡เจธเจผเจจ
เจฒเฉเจ†/เจธเฉ€
เจฒเฉเจ†/เจธเฉ€
Lua/C++
เจ•เฉ‹เจˆ เจตเฉ€

เจ•เจฟเจ‰เจ‚

เจ‡เจน เจ‡เฉฑเจ• เจจเฉŒเจœเจตเจพเจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆ, เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจ—เฉเฉฐเจฎ เจนเจจ, เจ•เฉเจ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจฒเจซเจผเจพ เจตเจฟเฉฑเจšเฅค เจชเจฐ เจญเฉ‡เจœเจฟเจ†, เจ†เจชเจฃเฉ€ เจœเจตเจพเจจเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจตเจฟเจ•เจพเจธ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฆเจฟเจฒเจšเจธเจช เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเจจ: เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเฉฐเจฐเจšเจจเจพ, เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจคเจฟเจ†เจฐ เจซเจฟเจฒเจŸเจฐ, เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจซเจฟเจฒเจŸเจฐ เจฒเจฟเจ–เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเฅค
เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจ‡เจธ เจคเฉ‹เจ‚ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจชเจฐ เจชเจนเจฟเจฒเจพเจ‚ 2 เจเจ‚เจŸเฉ€เจชเฉˆเจŸเจฐเจจ เจนเจจ:

  • เจธเจฅเจฟเจฐ เจฐเฉ€เจ•เฉ‹เจ‡เจฒเฅค

เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจตเจฟเจš เจญเฉ‡เจœเจฟเจ† เจ•เฉ‹เจˆ เจ•เฉˆเจธเจผเจฟเฉฐเจ— เจธเจนเจพเจ‡เจคเจพ เจจเจนเฉ€เจ‚เฅค เจ—เฉ‚เจ—เจฒ เจตเจพเจฒเฉ‡ เจ‡เจธ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจ เจ เฉ€เจ• เจ•เจฐเฉ‹. เจ‡เจธ เจตเจฟเจšเจพเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจญเฉ‡เจœเจฟเจ† RFC เจ…เจจเฉเจชเจพเจฒเจจ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ (เจœเจผเฉ‚ เจธเจฟเจฐเจฒเฉ‡เจ–), เจ…เจคเฉ‡ เจ–เจพเจธ เจฒเจพเจ—เฉ‚เจ•เจฐเจจเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค เจชเจฐ เจซเจฟเจฒเจนเจพเจฒ เจ‡เจน เจ…เจฒเจซเจพ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจšเจฐเจšเจพ เจ…เจงเฉ€เจจ เจนเฉˆ, PR เจ“เจชเจจ (เจœเจฆเฉ‹เจ‚ เจฎเฉˆเจ‚ PR เจฒเฉ‡เจ– เจฒเจฟเจ– เจฐเจฟเจนเจพ เจธเฉ€, PR เจซเฉเจฐเฉ€เจœเจผ เจนเฉ‹ เจ—เจฟเจ† เจธเฉ€, เจชเจฐ เจ‡เจน เจฌเจฟเฉฐเจฆเฉ‚ เจ…เจœเฉ‡ เจตเฉ€ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ)เฅค

เจนเฉเจฃ เจฒเจˆ, เจธเจŸเฉˆเจŸเจฟเจ•เจธ เจฒเจˆ nginx เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹.

  • เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจšเจจเจพเฅค

เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจญเฉ‡เจœเจฟเจ† เจ‡เจน เจ‡เจธ เจฒเจˆ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€. เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเจฒ เจนเจจ:

yaml เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจคเฉเจธเฉ€เจ‚ เจ—เจฒเจค เจนเฉ‹เจตเฉ‹เจ—เฉ‡, เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฐเจฌเฉ‹เจธเจฟเจŸเฉ€ เจฒเจˆ เจเจฟเฉœเจ•เฉ‹เจ—เฉ‡ เจ…เจคเฉ‡ เจธเฉ‹เจšเฉ‹ เจ•เจฟ nginx/haproxy เจธเฉฐเจฐเจšเจจเจพ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ˜เฉฑเจŸ เจขเจพเจ‚เจšเจพเจ—เจค เจนเฉˆ, เจตเจงเฉ‡เจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจนเจจเฅค เจ‡เจน เจ—เฉฑเจฒ เจนเฉˆเฅค Nginx เจ…เจคเฉ‡ Haproxy เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจนเฉฑเจฅ เจฆเฉเจ†เจฐเจพ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจฌเจฃเจพเจˆ เจ—เจˆ เจธเฉ€, เจ…เจคเฉ‡ เจญเฉ‡เจœเจฟเจ† เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจชเฉ€เฉœเฉเจนเฉ€ เจฒเจˆเฅค เจชเฉ‚เจฐเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ protobuf, เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจŸเฉ‹ เจซเจพเจˆเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจคเจฟเจ†เจฐ เจ•เจฐเจจเจพ เจ—เจฒเจคเฉ€ เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค

เจ•เฉˆเจจเจฐเฉ€, b/g เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉเจฐเจฟเจธเจผ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฎเฉˆเจ‚ เจ‡เจน เจจเจนเฉ€เจ‚ เจ•เจนเจฟ เจฐเจฟเจนเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจธเจฅเจฟเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ, เจ…เจธเฉ€เจ‚ เจธเจพเจฐเฉ‡ เจ‡เจน เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚. เจชเจฐ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ เจตเจฟเฉฑเจš, เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจชเจพเจ‰เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ เจญเฉ‡เจœเจฟเจ† เจธเจฎเฉ‡เจค

เจ•เจพเจฐเจœ เจœเจฟเจจเฉเจนเจพเจ‚ เจฒเจˆ เจฐเจพเจœเจฆเฉ‚เจค เจฒเจพเจœเจผเจฎเฉ€ เจนเฉˆ:

  • เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ…เจคเฉ‡ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจŸเฉเจฐเฉˆเจซเจฟเจ• เจธเฉฐเจคเฉเจฒเจจเฅค เจ‡เจธ เจตเจฟเฉฑเจš เจธเฉ‡เจตเจพ เจœเจพเจฒ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจชเจฐ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฟ เจ‡เจน เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจนเฉ€ เจนเฉ‹เจตเฉ‡เฅค
  • เจตเจฟเจคเจฐเจฟเจค เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ, เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ…เจงเจฟเจ•เจพเจฐ เจœเจพเจ‚ เจนเฉ‹เจฐ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจœเฉ‹ เจ•เจฟ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉˆ เจญเฉ‡เจœเจฟเจ† เจฌเจพเจ•เจธ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจœเจพเจ‚ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ nginx/haproxy เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‚เจ† เจ…เจคเฉ‡ เจธเจผเฉฑเจ•เฉ€ เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจจเจพเจฒ เจ˜เจฟเจฐเจฟเจ† เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจฆเฉ‹เจตเฉ‡เจ‚, เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ.

เจ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ

เจฆเฉ‚เจค เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจพเจˆเจจเจฐเฉ€ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆเฅค เจชเจฐ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฒเจˆ เจ‡เจธ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚.

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

เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเฉฐเจฐเจšเจจเจพ

เจ…เจธเฉ€เจ‚ เจ•เจฟเจนเฉœเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจฒเฉฑเจญ เจฐเจนเฉ‡ เจนเจพเจ‚? เจคเฉเจธเฉ€เจ‚ เจฒเฉ‹เจก เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจฒเฉ‹เจก เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹; "เจ›เฉ‹เจŸเฉ€เจ†เจ‚" เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจชเฉˆเจฆเจพ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚:

  • เจธเฉฐเจฐเจšเจจเจพ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพเฅค

เจธเฉฐเจฐเจšเจจเจพ เจตเฉฑเจกเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ‡เจน เจฌเจนเฉเจค เจตเฉฑเจกเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจ“เจตเจฐเจฒเฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ•เจฟเจคเฉ‡ เจ—เจฒเจคเฉ€ เจนเฉ‹เจฃ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจตเฉฑเจง เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

  • เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉฑเจ• เจšเฉฑเจฒเจฃ เจตเจพเจฒเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจเฅค

เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจธเจฐเฉ‹เจคเฉ‡ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจพเจฃเฉ‡ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเจพ เจงเจฟเจ†เจจ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ; เจœเฉ‡เจ•เจฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ…เจ•เจธเจฐ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉฑเจ• เจšเฉฑเจฒเจฃ เจตเจพเจฒเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฎเจเฉŒเจคเจพ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจนเฉˆเจฒเฉ‹, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ nginx 'เจคเฉ‡ เจชเฉเจฐเจตเฉ‡เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

  • เจธเจฐเจ—เจฐเจฎ เจธเจฟเจนเจค เจœเจพเจ‚เจšเฅค

เจœเฉ‡เจ•เจฐ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจธเจฟเจนเจค เจœเจพเจ‚เจšเจพเจ‚ เจนเจจ, เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจญเฉ‡เจœเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ เจฆเฉ€ เจจเจตเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจฆเฉ‹ เจตเจพเจฐ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ…เฉฑเจชเจธเจŸเจฐเฉ€เจฎ เจนเจจ, เจคเจพเจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจนเฉˆเจฒเฉ‹ เจนเฉˆเจชเจฐเฉ‹เจ•เจธเฉ€เฅค

เจตเจฟเฉฑเจš เจ‡เจธ เจฆเจพ เจนเฉฑเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจญเฉ‡เจœเจฟเจ†เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉ‹เจก เจ•เจฐเจ•เฉ‡, เจชเฉ‚เจฒ เจฎเจพเจกเจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจก เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‰เจธ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจธเจผเฉเจฐเฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจฌเจฆเจฒเจฟเจ† เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจธเจฐเฉ‹เจคเจพ, เจœเจฟเจธเจจเฉ‚เฉฐ เจฎเฉเฉœ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจฎเจนเจฟเฉฐเจ—เจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ˜เฉฑเจŸ เจนเฉ€ เจฌเจฆเจฒเจฆเจพ เจนเฉˆเฅค

เจ•เฉŒเจจเจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจญเฉ‡เจœเจฟเจ† (เจ‰เจชเจฐเฉ‹เจ•เจค เจซเจพเจˆเจฒ เจคเฉ‹เจ‚) เจฆเฉ€เจ†เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจนเจจ:

  • เจธเฉเจฃเจจ เจตเจพเจฒเจพ - เจ‡เฉฑเจ• เจ–เจพเจธ เจ†เจˆเจชเฉ€/เจชเฉ‹เจฐเจŸ 'เจคเฉ‡ เจฒเจŸเจ•เจฆเจพ เจธเฉเจฃเจจ เจตเจพเจฒเจพ
  • เจตเจฐเจšเฉเจ…เจฒ เจนเฉ‹เจธเจŸ - เจกเฉ‹เจฎเฉ‡เจจ เจจเจพเจฎ เจฆเฉเจ†เจฐเจพ เจตเจฐเจšเฉเจ…เจฒ เจนเฉ‹เจธเจŸ
  • เจฐเฉ‚เจŸ - เจธเฉฐเจคเฉเจฒเจจ เจจเจฟเจฏเจฎ
  • เจ•เจฒเฉฑเจธเจŸเจฐ โ€” เจธเฉฐเจคเฉเจฒเจจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ…เฉฑเจชเจธเจŸเจฐเฉ€เจฎ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน
  • เจ…เฉฐเจคเจฎ เจชเฉเจ†เจ‡เฉฐเจŸ โ€” เจ…เฉฑเจชเจธเจŸเจฐเฉ€เจฎ เจ‰เจฆเจพเจนเจฐเจฃ เจชเจคเจพ

เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจ‡เจ•เจพเจˆ เจ…เจคเฉ‡ เจ•เฉเจ เจนเฉ‹เจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจญเจฐเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ; เจ‡เจธเจฆเฉ‡ เจฒเจˆ, เจธเฉฐเจฐเจšเจจเจพ เจธเฉ‡เจตเจพ เจฆเจพ เจชเจคเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‹เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€เฅค เจธเฉ‡เจตเจพ REST เจœเจพเจ‚ gRPC เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, gRPC เจคเจฐเจœเฉ€เจนเฉ€ เจนเฉˆเฅค

เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฐเจฎเจตเจพเจฐ เจจเจพเจฎ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ: LDS, VHDS, RDS, CDS เจ…เจคเฉ‡ EDSเฅค เจคเฉเจธเฉ€เจ‚ เจธเจฅเจฟเจฐ เจ…เจคเฉ‡ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจธ เจธเฉ€เจฎเจพ เจฆเฉ‡ เจจเจพเจฒ เจ•เจฟ เจ‡เฉฑเจ• เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเจฐเฉ‹เจค เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจตเจฟเฉฑเจš เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ•เฉฐเจฎเจพเจ‚ เจฒเจˆ, เจ†เจ–เจฐเฉ€ เจคเจฟเฉฐเจจ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจเจกเฉ€เจเจธ (เจเจ—เจฐเฉ€เจ—เฉ‡เจŸเจฟเจก เจกเจฟเจธเจ•เจตเจฐเฉ€ เจธเจฐเจตเจฟเจธ) เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจฒเจˆ java เจ…เจคเฉ‡ เจœเจพเจ“ เจœเฉ€เจ†เจฐเจชเฉ€เจธเฉ€ เจกเฉ‡เจŸเจพเจชเจฒเฉ‡เจจ เจฆเจพ เจ‡เฉฑเจ• เจคเจฟเจ†เจฐ-เจฌเจฃเจพเจ‡เจ† เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจญเจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจธเฉฐเจฐเจšเจจเจพ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจฐเฉ‚เจช เจจเฉ‚เฉฐ เจฒเฉˆเจ‚เจฆเฉ€ เจนเฉˆ:

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

เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจญเฉ‡เจœเจฟเจ† เจ‡เจธ เจธเฉฐเจฐเจšเจจเจพ เจจเจพเจฒ, เจ‡เจน เจ•เฉฐเจŸเจฐเฉ‹เจฒ-เจชเจฒเฉ‡เจจ เจจเจพเจฒ เจœเฉเฉœ เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ RDS, CDS เจ…เจคเฉ‡ EDS เจธเฉฐเจฐเจšเจจเจพ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‡เจ—เจพเฅค เจชเจฐเจธเจชเจฐ เจ•เฉเจฐเจฟเจ† เจ•เจฟเจตเฉ‡เจ‚ เจตเจพเจชเจฐเจฆเฉ€ เจนเฉˆ เจ‡เจธเจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ‡เฉฑเจฅเฉ‡.

เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš, เจญเฉ‡เจœเจฟเจ† เจฌเฉ‡เจจเจคเฉ€ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจธเจฐเฉ‹เจค เจฆเฉ€ เจ•เจฟเจธเจฎ, เจจเฉ‹เจก เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจ…เจคเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆเฅค เจœเจตเจพเจฌ เจตเจฟเฉฑเจš, เจ‡เจน เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉฐเจธเจ•เจฐเจฃ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ; เจœเฉ‡เจ•เจฐ เจ•เฉฐเจŸเจฐเฉ‹เจฒ-เจชเจฒเฉ‡เจจ เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจœเจตเจพเจฌ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค
เจ‡เฉฑเจฅเฉ‡ 4 เจ‡เฉฐเจŸเจฐเฉˆเจ•เจธเจผเจจ เจตเจฟเจ•เจฒเจช เจนเจจ:

  • เจนเจฐ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• gRPC เจธเจŸเฉเจฐเฉ€เจฎ, เจธเจฐเฉ‹เจค เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจธเจฅเจฟเจคเฉ€ เจญเฉ‡เจœเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค
  • เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจงเจพเจฐเจพเจตเจพเจ‚, เจชเฉ‚เจฐเฉ€ เจนเจพเจฒเจคเฅค
  • เจ‡เฉฑเจ• เจงเจพเจฐเจพ, เจตเจพเจงเจพ เจ…เจตเจธเจฅเจพเฅค
  • เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจงเจพเจฐเจพเจตเจพเจ‚, เจตเจพเจงเจพ เจ…เจตเจธเจฅเจพเฅค

เจ‡เจจเจ•เจฐเฉ€เจฎเฉˆเจ‚เจŸเจฒ xDS เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉฐเจŸเจฐเฉ‹เจฒ-เจชเจฒเฉ‡เจจ เจ…เจคเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ†เจตเจพเจœเจพเจˆ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจญเฉ‡เจœเจฟเจ†, เจ‡เจน เจตเฉฑเจกเฉ€เจ†เจ‚ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆเฅค เจชเจฐ เจ‡เจน เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจจเฉ‚เฉฐ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ; เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจ—เจพเจนเจ•เฉ€ เจฐเฉฑเจฆ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ—เจพเจนเจ•เฉ€ เจฒเฉˆเจฃ เจฒเจˆ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจธเจพเจกเฉ€ เจ‰เจฆเจพเจนเจฐเจจ ADS เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ - RDS, CDS, EDS เจ…เจคเฉ‡ เจ—เฉˆเจฐ-เจตเจงเจพเจˆ เจฎเฉ‹เจก เจฒเจˆ เจ‡เฉฑเจ• เจธเจŸเฉเจฐเฉ€เจฎเฅค เจตเจพเจงเฉ‡ เจตเจพเจฒเฉ‡ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ api_type: DELTA_GRPC

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจจเฉ‹เจก เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจนเจจ, เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจฎเฉŒเจ•เจฟเจ†เจ‚ เจฒเจˆ เจ•เฉฐเจŸเจฐเฉ‹เจฒ-เจชเจฒเฉ‡เจจ เจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฐเฉ‹เจค เจญเฉ‡เจœ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจญเฉ‡เจœเจฟเจ†, เจ‡เจน เจธเฉ‡เจตเจพ เจœเจพเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆเฅค

เจ—เจฐเจฎ เจ•เจฐเจจเจพ

'เจคเฉ‡ เจญเฉ‡เจœเจฟเจ† เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฎเฉ‡เจ‚ เจœเจพเจ‚ เจ•เฉฐเจŸเจฐเฉ‹เจฒ-เจชเจฒเฉ‡เจจ เจคเฉ‹เจ‚ เจจเจตเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡, เจธเจฐเฉ‹เจค เจตเจพเจฐเจฎเจ…เฉฑเจช เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธเจจเฉ‚เฉฐ เจฒเจฟเจธเจจเจฐ เจตเจพเจฐเจฎเจ…เฉฑเจช เจ…เจคเฉ‡ เจ•เจฒเจธเจŸเจฐ เจตเจพเจฐเจฎเจ…เฉฑเจช เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจชเจนเจฟเจฒเฉ€ เจจเฉ‚เฉฐ เจ‰เจฆเฉ‹เจ‚ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ RDS/LDS เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจฆเฉ‚เจœเฉ€ เจœเจฆเฉ‹เจ‚ CDS/EDS เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจนเฉˆ เจ•เจฟ เจœเฉ‡เจ•เจฐ เจธเจฟเจฐเจซ เจ…เฉฑเจชเจธเจŸเฉเจฐเฉ€เจฎ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจธเฉเจฃเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจตเจพเจฐเจฎ-เจ…เจช เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจจเจฟเจฏเฉฐเจคเจฐเจฃ-เจชเจฒเฉ‡เจจ เจคเฉ‹เจ‚ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจจเจฟเจฐเจญเจฐ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจผเฉเจฐเฉ‚เจ†เจค เจธเจซเจฒ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจจเจตเจพเจ‚ เจธเจฐเฉ‹เจคเจพ เจชเฉ‹เจฐเจŸ 'เจคเฉ‡ เจธเฉเจฃเจจเจพ เจธเจผเฉเจฐเฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค
เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ†เจฆเฉ‡เจธเจผ: EDS, CDS, เจธเจฐเจ—เจฐเจฎ เจธเจฟเจนเจค เจœเจพเจ‚เจš, RDS, LDSเฅค เจธเจฐเจ—เจฐเจฎ เจธเจฟเจนเจค เจœเจพเจ‚เจšเจพเจ‚ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃ เจฆเฉ‡ เจจเจพเจฒ, เจ‡เฉฑเจ• เจธเจซเจฒ เจธเจฟเจนเจค เจœเจพเจ‚เจš เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉ€ เจ†เจตเจพเจœเจพเจˆ เจ‰เฉฑเจชเจฐ เจตเฉฑเจฒ เจตเจงเฉ‡เจ—เฉ€เฅค

เจœเฉ‡เจ•เจฐ เจธเฉเจฃเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจคเจพเจ‚ เจชเฉเจฐเจพเจฃเจพ เจกเจฐเฉ‡เจจ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจšเจฒเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฌเฉฐเจฆ เจนเฉ‹เจฃ เจœเจพเจ‚ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฎเจฟเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค --drain-time-s, เจกเจฟเจซเจพเจฒเจŸ 10 เจฎเจฟเฉฐเจŸเฅค

เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃ เจฒเจˆ

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹