Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบเป‰เบฒเบเบˆเบฒเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ monolithic เป„เบ›เบชเบนเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ microservices, เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเปƒเบซเบกเปˆ.

เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ monolithic, เบกเบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบชเปˆเบงเบ™เปƒเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™. เบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐ, เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡ monolith เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, เบซเบผเบทเบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เปเบ•เปˆเป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบŠเบญเบเบซเบฒเบšเบฑเบ™เบซเบฒเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ, เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™เบญเบตเบเบ•เปเปˆเป„เบ›. เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบญเบปเบฒเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ•เบปเป‰เบ™เบˆเบปเบ™เบˆเบปเบšเปเบฅเบฐเป€เบฅเบทเบญเบเบกเบฑเบ™เบˆเบฒเบเบซเบผเบฒเบเบฎเป‰เบญเบ microservices. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบ‡เบกเบตเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบšเบฑเบ™เบซเบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”.

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบŠเบญเบเบซเบฒเป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบฎเบฑเบšเบกเบทเบเบฑเบšเบšเบฑเบ™เบซเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง (เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เปƒเบ™Habrรฉ: 1, 2), เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เปเบเป‰เป„เบ‚เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบปเปˆเบงเป„เบ›เบ•เปเปˆเบเบฑเบšเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบŠเบญเบเบซเบฒเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ. เปเบ•เปˆเบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš, เบซเบผเบทเบฎเป‰เบฒเบเปเบฎเบ‡เบเบงเปˆเบฒเป€เบเบปเปˆเบฒ, เปƒเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เปเบ•เปˆเปƒเบ™เบšเบฒเบ‡เบชเปˆเบงเบ™เบกเบฑเบ™เบšเปเปˆ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบเบปเปˆเบฒ. ? เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบชเบฒเป€เบซเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒ, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบฅเบฐเบšเบปเบš. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเปƒเบ”เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบธเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™.

เบ—เบตเปˆเบ™เบตเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบกเบฒเบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒเบเบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ•เบปเบ™เป€เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบงเบดเป€เบ„เบฒเบฐเบกเบฑเบ™เปƒเบ™เบเบฒเบ™เบšเบดเบ™. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™.

เบงเบดเบ—เบตเบเบฒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™

เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบŠเบฑเป‰เบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบญเบทเปˆเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต sidecar เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ—เบตเปˆเบกเบตเบ•เบปเบงเปเบ—เบ™เป‚เบ›เปˆเบ‡เปƒเบชเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเปเบ•เปˆเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ, เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ‚เบฒเป€เบ‚เบปเป‰เบฒเปเบฅเบฐเบ‚เบฒเบญเบญเบเบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบซเบผเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบฅเบนเบเบ„เป‰เบฒ, เบ™เปเบฒเปƒเบŠเป‰เบ™เบฐเป‚เบเบšเบฒเบเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”.

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เบงเบดเบ—เบตเปเบเป‰เป„เบ‚

เบกเบตโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบซเบผเบฒเบโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เปเบฅเป‰เบงโ€‹: เบญเบดเบŠเบดเป‚เบญ ะธ linkerd2. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเบฐเบซเบ™เบญเบ‡เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบซเบผเบฒเบเบญเบญเบเบˆเบฒเบเบเปˆเบญเบ‡. โ€‹เปเบ•เปˆโ€‹เปƒเบ™โ€‹เบ‚เบฐเบ™เบฐโ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเปโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เบ—เบฐเบงเบตโ€‹เบเบฒเบ™โ€‹เบ„เบธเป‰เบกโ€‹เบ„เบญเบ‡โ€‹เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™. เบเบดเปˆเบ‡โ€‹เป„เบ›โ€‹เบเบงเปˆเบฒโ€‹เบ™เบฑเป‰เบ™, เบเบธเปˆเบกโ€‹เปƒเบซเบเปˆโ€‹เบ—เบตเปˆโ€‹เบฅเบฐเบšเบปเบšโ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบ”เบณโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบซเบผเบฒเบโ€‹เบ‚เบถเป‰เบ™, เบˆเบฐโ€‹เบกเบตโ€‹เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™โ€‹เบซเบผเบฒเบโ€‹เบ‚เบถเป‰เบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เบฎเบฑเบเบชเบฒโ€‹เบžเบทเป‰เบ™เบ–เบฒเบ™โ€‹เป‚เบ„เบ‡โ€‹เบฅเปˆเบฒเบ‡โ€‹เปƒเปเปˆ. เบ—เบตเปˆ Avito, เบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบธเปˆเบก kubernetes เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบฅเบฒเบเบžเบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ). เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, Istio เปƒเบŠเป‰ RAM 300Mb เบ•เปเปˆเบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ, เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ—เบตเปˆเป‚เบ›เปˆเบ‡เปƒเบชเบเบฑเบ‡เบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เป‚เบ”เบเบฅเบงเบกเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (เป€เบ–เบดเบ‡ 10ms).

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบญเบฑเบ™เปƒเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เปเบฅเบฐเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเป€เบซเบ”เบœเบปเบ™เบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบเป‰เป„เบ‚เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบˆเบฒเบเบฅเบฐเบšเบปเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบขเปˆเบฒเบ‡เป‚เบ›เปˆเบ‡เปƒเบช. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเป€เบฎเบฑเบ”เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ•เปˆเบฒเบ‡เป†เบเบฑเบšเบชเปˆเบงเบ™เบซเบปเบงเบ—เบตเปˆเบ–เบทเบเป‚เบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบกเบฒเบฎเบญเบ”เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:โ€Š Netramesh.

Netramesh

Netramesh เป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”, เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบฅเบฐเบšเบปเบš.

เป€เบ›เบปเป‰เบฒเปเบฒเบเบซเบผเบฑเบเบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เปƒเปเปˆเปเบกเปˆเบ™เปเบซเบผเปˆเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ•เปˆเบณ เปเบฅเบฐ เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡. เปƒเบ™โ€‹เบšเบฑเบ™โ€‹เบ”เบฒโ€‹เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เบ•เบปเป‰เบ™โ€‹เบ•เป, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เปƒเบ™โ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ—เบตเปˆโ€‹เป‚เบ›เปˆเบ‡โ€‹เปƒเบชโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบชเบปเปˆเบ‡ tracing spans เบเบฑเบšโ€‹เบฅเบฐโ€‹เบšเบปเบš Jaeger เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ.

เบกเบทเป‰เบ™เบตเป‰, เบเบฒเบ™เปเบเป‰เป„เบ‚เป€เบกเบ„เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ Golang. เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เบกเบตเป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰. เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฃเปเบเบฃเบกเป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™ Golang เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบšเปเปˆเบเบปเบ‡เบเบฑเบ™เบเบฑเบš I/O เปเบฅเบฐเบ‚เบฐเปœเบฒเบ”เปƒเบ™เบ—เบปเปˆเบงเปเบเบ™เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™เบชเบฐเบ”เบงเบ เปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ. เปเบฅเบฐ, เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบ, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบ Golang.

เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเบธเบกเปƒเบชเปˆเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบชเบนเบ‡เบชเบธเบ”. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ•เปเปˆเป„เบ›เบเบฑเบšเปเบ•เปˆเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบ RAM เปเบฅเบฐ CPU เบซเบ™เป‰เบญเบเปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบ™เบˆเบฐเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ.

เบกเบฒเป€เบšเบดเปˆเบ‡เบเบฑเบ™เบงเปˆเบฒเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบซเบเบฑเบ‡.

RAM

Netramesh เปƒเบŠเป‰ ~ 10Mb เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปเบฅเบฐเบชเบนเบ‡เบชเบธเบ” 50Mb เบ”เป‰เบงเบเบเบฒเบ™เป‚เบซเบผเบ”เป€เบ–เบดเบ‡ 10000 RPS เบ•เปเปˆเบ•เบปเบงเบขเปˆเบฒเบ‡.

Istio envoy proxy เปƒเบŠเป‰ ~ 300Mb เบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เปเบตเบเบฑเบšเบซเบผเบฒเบเบžเบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡. เบญเบฑเบ™เบ™เบตเป‰เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”เป€เบ›เบฑเบ™เบเบธเปˆเบกเบ—เบฑเบ‡เปเบปเบ”.

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เบ”เป‰เบงเบ Netramesh เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡ ~ 10x เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ.

CPU

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ CPU เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เป‚เบซเบผเบ”. เบกเบฑเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบซเบ™เปˆเบงเบเป€เบงเบฅเบฒเบ‚เบญเบ‡ sidecar เป„เบ”เป‰. เบกเบนเบ™เบ„เปˆเบฒเบขเบนเปˆเบ—เบตเปˆ 3000 เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบชเบนเบ‡เบชเบธเบ”:

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เบกเบตเบญเบตเบเบˆเบธเบ”เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™: Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบปเบ™เบ„เบงเบšเบ„เบธเบกเปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบซเบผเบ”เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เป€เบงเบฅเบฒ CPU. เบ”เป‰เบงเบ Istio, sidecars เบชเบฐเป€เบซเบกเบตเบ›เบฑเบšเบ›เบธเบ‡เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบฎเบนเบšเบ™เบตเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบซเบผเบ”:

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ HTTP/1 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเปเบฒเบฅเบฑเบš Istio เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ proxying เบœเปˆเบฒเบ™ envoy เปเบกเปˆเบ™เบชเบนเบ‡เป€เบ–เบดเบ‡ 5-10ms, เป€เบŠเบดเปˆเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เปƒเบ™ millisecond. เบ”เป‰เบงเบ Netramesh เป€เบงเบฅเบฒเบ™เบตเป‰เป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ–เบดเบ‡ 0.5-2ms.

เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰

เบˆเปเบฒเบ™เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบเป‚เบ”เบเบ•เบปเบงเปเบ—เบ™เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบกเบฑเบ™เป„เบ›เปƒเบชเปˆเบเบฑเบšเปเบ•เปˆเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™. Netramesh เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเป€เบˆเบ”เบ•เบฐเบ™เบฒเป‚เบ”เบเบšเปเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบเบปเบ™เบ„เบงเบšเบ„เบธเบกเป€เบžเบทเปˆเบญเบžเบฝเบ‡เปเบ•เปˆเบฎเบฑเบเบชเบฒเบฅเบปเบ”เบ‚เป‰เบฒเบ‡เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ. เป€เบฅเบทเป‰เบญเบเป†เปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบเบปเบ™เบ„เบงเบšเบ„เบธเบกเปเบˆเบเบขเบฒเบเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบซเป‰เบเบฑเบšเปเบ•เปˆเบฅเบฐ sidecar. เบ„เบฝเบ‡เบ„เบนเปˆเบเบฑเบšเบกเบฑเบ™เบกเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปเบปเบ”เป€เบงเบฅเบฒ เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบซเบผเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบกเบฑเบ™ bloats sidecars เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”.

เบเบฒเบ™โ€‹เบ„เบปเป‰เบ™โ€‹เบžเบปเบšโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

Netramesh เบšเปเปˆเป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบปเบ™เป„เบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เบ—เบฑเบ‡เปเบปเบ”เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบชเบœเปˆเบฒเบ™เบ—เบฒเบ‡ netra sidecar.

Netramesh เบฎเบญเบ‡เบฎเบฑเบš HTTP/1 application protocol. เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบกเบฑเบ™, เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบญเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบฅเบฐเบšเบปเบšเบกเบตเบžเบญเบ”เบซเบผเบฒเบเบŠเปˆเบญเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™ HTTP เป€เบเบตเบ”เบ‚เบทเป‰เบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ 80, 8890, 8080 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบžเบฒเบเบ™เบญเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก. NETRA_HTTP_PORTS.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰ Kubernetes เป€เบ›เบฑเบ™เบ™เบฑเบเบ›เบฐเบžเบฑเบ™ เปเบฅเบฐเบเบปเบ™เป„เบเปœเปˆเบงเบเบ‡เบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบžเบทเปˆเบญเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบžเบฒเบเปƒเบ™เบเบธเปˆเบกเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบเบปเบ™เป„เบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบ„เบปเบ‡เบ„เบทเบเบฑเบ™. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, microservice เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ kube-dns เปเบฅเบฐเป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบซเบกเปˆเบเบฑเบšเบกเบฑเบ™. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบเบฑเบš netra-sidecar เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบฅเบฐเบŠเบธเบ” TCP เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบกเบฒเบฎเบญเบ” netra. เบ•เปเปˆเป„เบ›, netra-sidecar เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš. NAT เปƒเบ™ pod IP เปƒเบ™ node เบเบฑเบ‡เบ„เบปเบ‡เบ„เบทเบเบฑเบ™เบเบฑเบšเบšเปเปˆเบกเบต netra.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบฅเบฐเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบชเบฐเบžเบฒเบšเบเบฒเบ™

Netramesh เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡ tracing spans เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš HTTP. Netra-sidecar parses เป‚เบ›เป‚เบ•เบ„เบญเบ™ HTTP, เบงเบฑเบ”เปเบ—เบเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป, เปเบฅเบฐเบชเบฐเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบˆเบฒเบเบชเปˆเบงเบ™เบซเบปเบง HTTP. เปƒเบ™เบ—เบตเปˆเบชเบธเบ”, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบฎเปˆเบญเบ‡เบฎเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบฅเบฐเบšเบปเบš Jaeger เบ”เบฝเบง. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบฅเบฐเบญเบฝเบ”, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™ jaeger เป„เบ›เบซเปเบชเบฐเบซเบกเบธเบ”.

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เปเบ•เปˆเบกเบตเบšเบฑเบ™เบซเบฒ. เบˆเบปเบ™เบเปˆเบงเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบชเบปเปˆเบ‡ header uber เบžเบดเป€เบชเบ”, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเป€เบซเบฑเบ™เบ‚เบญเบšเป€เบ‚เบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป„เบงเบŠเบญเบเบซเบฒเบชเบฒเป€เบซเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒ. เบ™เบตเป‰เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡ Netramesh เบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚. เบ•เบปเบงเปเบ—เบ™เบญเปˆเบฒเบ™ HTTP headers เปเบฅเบฐ, เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบกเบต uber trace id, เบชเป‰เบฒเบ‡เบญเบฑเบ™เบซเบ™เบถเปˆเบ‡. Netramesh เบเบฑเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ‚เบฒเป€เบ‚เบปเป‰เบฒเปเบฅเบฐเบ‚เบฒเบญเบญเบเปƒเบ™ sidecar เปเบฅเบฐเบˆเบฑเบšเบ„เบนเปˆเบžเบงเบเป€เบ‚เบปเบฒเป‚เบ”เบเบเบฒเบ™เป€เบชเบตเบกเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบšเบซเบปเบงเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบฒเบญเบญเบเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบซเบปเบง X-Request-Id, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก NETRA_HTTP_REQUEST_ID_HEADER_NAME. เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเบเบฒเบ™เปƒเบ™ Netramesh, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰: NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS (เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเบฅเบดเบšเบปเบ”เบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰) เปเบฅเบฐ NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL (เบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เบญเบฐเบ™เบฒเป„เบกเบšเปเบฅเบดเบšเบปเบ”).

เบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเบปเบกเบ—เบปเบšเบซเบผเบฒเบเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป‚เบ”เบเบเบฒเบ™เบซเบกเบฒเบเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบกเบต token เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบžเบดเป€เบชเบ”. Netra เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡ HTTP_HEADER_TAG_MAP เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เบชเปˆเบงเบ™เบซเบปเบง HTTP เปƒเบซเป‰เป€เบ›เบฑเบ™เปเบ—เบฑเบš tracing span เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบซเบผเบฑเบ‡เบˆเบฒเบเบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบชเปˆเบงเบ™เปƒเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฒเบเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเบ›เบธเปˆเบกเป€เบŠเบ”เบŠเบฑเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™.

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เปเบซเบผเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป

เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบšเปˆเบญเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบกเบฒเบˆเบฒเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบก header เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฑเบšเปเบซเบผเปˆเบ‡. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก NETRA_HTTP_X_SOURCE_HEADER_NAME เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบŠเบทเปˆเบชเปˆเบงเบ™เบซเบปเบงเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ NETRA_HTTP_X_SOURCE_VALUE เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเบ—เบตเปˆ header X-Source เบˆเบฐเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบญเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”.

เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเบฒเบ™เปเบˆเบเบขเบฒเบเบชเปˆเบงเบ™เบซเบปเบงเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ™เบตเป‰เบ–เบทเบเปเบˆเบเบขเบฒเบเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบšเปƒเบ™เบ—เบปเปˆเบงเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเป€เบžเบตเปˆเบกเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบเบฒเบ™เบงเบฑเบ”เปเบ—เบ.

เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปเบฅเบฐ Netramesh เบžเบฒเบเปƒเบ™

Netramesh เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เบปเป‰เบ™เบ•เป. เบ—เปเบฒเบญเบดเบ”, netra-init, เบเปเบฒเบ™เบปเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเป€เบžเบทเปˆเบญเบชเบฐเบเบฑเบ”เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™. เบฅเบฒเบงเปƒเบŠเป‰ iptables redirect เบเบปเบ”เบฅเบฐเบšเบฝเบš เป€เบžเบทเปˆเบญเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบซเบผเบทเบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบฅเบปเบ”เบ‚เป‰เบฒเบ‡, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เบปเป‰เบ™เบ•เปเบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡ Netramesh. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบณเบ™เบปเบ”เบ„เปˆเบฒเป„เบ”เป‰เบงเปˆเบฒเบžเบญเบ”เปƒเบ”เบ•เป‰เบญเบ‡เบเบฒเบ™เบ–เบทเบเบ”เบฑเบเบชเบฐเบเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบŠเปˆเบงเบ‡ TCP เบ‚เบฒเป€เบ‚เบปเป‰เบฒ เปเบฅเบฐเบ‚เบฒเบญเบญเบ: INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฑเบ‡เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ - probabilistic routing . เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰ Netramesh เบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบซเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบ›. NETRA_INBOUND_PROBABILITY ะธ NETRA_OUTBOUND_PROBABILITY (เบˆเบฒเบ 0 เบซเบฒ 1). เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 1 (เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡).

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”, netra sidecar เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบซเบกเปˆเปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ SO_ORIGINAL_DST เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบ socket เป€เบžเบทเปˆเบญโ€‹เปƒเบซเป‰โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบˆเบธเบ”โ€‹เบซเบกเบฒเบโ€‹เบ›เบฒเบโ€‹เบ—เบฒเบ‡โ€‹เบ•เบปเป‰เบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹. Netra เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบซเบกเปˆเบเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเปเบฅเบฐเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™ TCP เบชเบญเบ‡เบ—เบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเปˆเบฒเบเบ•เปˆเบฒเบ‡เป†, เบŸเบฑเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบœเปˆเบฒเบ™. เบ–เป‰เบฒเบžเบญเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™ HTTP, Netra เบžเบฐเบเบฒเบเบฒเบกเบงเบดเป€เบ„เบฒเบฐเปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบกเบกเบฑเบ™. เบ–เป‰เบฒ HTTP parsing เบฅเบปเป‰เบกเป€เบซเบฅเบง, Netra เบเบฑเบšเบ„เบทเบ™เป„เบ› TCP เปเบฅเบฐเป‚เบ›เปˆเบ‡เปƒเบช proxies bytes.

เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช

เบซเบผเบฑเบ‡เบˆเบฒเบเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™ Jaeger, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปƒเบ™เบฅเบฐเบšเบปเบš. เปเบ•เปˆเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป‚เบซเบผเบ”เปเบฅเบฐเบซเบผเบฒเบเบžเบฑเบ™เบฅเป‰เบฒเบ™เบ‚เบญเบ‡ tracing spans เบ•เปเปˆเบกเบทเป‰, เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฒเบเป€เบ›เบฑเบ™เบงเบฝเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ. เบกเบตเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰: spark-dependencies. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบฑเบ™เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบŠเบปเปˆเบงเป‚เบกเบ‡เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบŸเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบฅเบฐเบˆเบฐเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบ—เปˆเบฒเบ™เบ”เบฒเบงเป‚เบซเบฅเบ”เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฒเบ Jaeger เบชเปเบฒเบฅเบฑเบš XNUMX เบŠเบปเปˆเบงเป‚เบกเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ Elasticsearch เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒ tracing spans, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” Golang เบ‡เปˆเบฒเบเบ”เบฒเบ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบชเป‰เบฒเบ‡เบเบฒเบŸเบ”เบฝเบงเบเบฑเบ™เปƒเบ™เบ™เบฒเบ—เบตเป‚เบ”เบเปƒเบŠเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ Elasticsearch.

Netramesh - เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ

เบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Netramesh

Netra เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ orchestrator เปƒเบ”. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡ เบ—เบตเปˆเบ™เบตเป‰.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, Netra เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” sidecars เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เปเบ•เปˆเบงเปˆเบฒเบกเบตเปเบœเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบญเบฐเบ™เบฒเบ„เบปเบ”เบ‚เบญเบ‡ Netramesh

เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบ•เบปเป‰เบ™โ€‹เบ•เปโ€‹ Netramesh เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡, เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฑเบ‡เป€เบเบ”เบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.

เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, Netramesh เบˆเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ›เป‚เบ•เบ„เบญเบ™เบŠเบฑเป‰เบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบญเบทเปˆเบ™เป†เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ HTTP. เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ L7 เบˆเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบญเบฑเบ™เปƒเบเป‰เบ™เบตเป‰.

เปƒเบŠเป‰ Netramesh เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบžเบปเบšเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปเบฅเบฐเบ‚เบฝเบ™เบซเบฒเบžเบงเบเป€เบฎเบปเบฒเบ”เป‰เบงเบเบ„เปเบฒเบ–เบฒเบกเปเบฅเบฐเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™