เชฌเชฎเซเชฌเชฒเชฌเซ€ - eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเชพ เชจเชฟเชฐเซเชฎเชพเชฃ เช…เชจเซ‡ เชตเชฟเชคเชฐเชฃเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชŸเซ‚เชฒเช•เซ€เชŸ

Solo.io, เชเช• เช•เช‚เชชเชจเซ€ เช•เซ‡ เชœเซ‡ เช•เซเชฒเชพเช‰เชก เชธเชฟเชธเซเชŸเชฎเซเชธ, เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธ, เช†เช‡เชธเซ‹เชฒเซ‡เชŸเซ‡เชก เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เชธเชฐเซเชตเชฐเชฒเซ‡เชธ เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช— เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชคเซเชชเชพเชฆเชจเซ‹ เชตเชฟเช•เชธเชพเชตเซ‡ เช›เซ‡, เชคเซ‡เชฃเซ‡ เชฌเชฎเซเชฌเชฒเชฌเซ€ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซ€ เช›เซ‡, เชœเซ‡ เชเช• เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชŸเซ‚เชฒเช•เซ€เชŸ เช›เซ‡ เชœเซ‡เชจเซ‹ เชนเซ‡เชคเซ เช‡เชฌเซ€เชชเซ€เชเชซ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ€ เชคเซˆเชฏเชพเชฐเซ€, เชตเชฟเชคเชฐเชฃ เช…เชจเซ‡ เชฒเซ‹เชจเซเชšเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เช›เซ‡ เชœเซ‡ เช…เช‚เชฆเชฐ เช–เชพเชธ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชฎเชพเช‚ เชšเชพเชฒเซ‡ เช›เซ‡. Linux เช•เชฐเซเชจเชฒ เช…เชจเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชจเซ‡เชŸเชตเชฐเซเช• เช“เชชเชฐเซ‡เชถเชจเซเชธ, เช•เช‚เชŸเซเชฐเซ‹เชฒ เชเช•เซเชธเซ‡เชธ เช…เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เชธเชฟเชธเซเชŸเชฎเซเชธเชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช•เซ‹เชก Go เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ Apache 2.0 เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชตเชฟเชคเชฐเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡.

BumbleBee เชเช• eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ OCI (เช“เชชเชจ เช•เชจเซเชŸเซ‡เชจเชฐ เช‡เชจเชฟเชถเชฟเชฏเซ‡เชŸเชฟเชต) เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เช•เชจเซเชŸเซ‡เชจเชฐ เช‡เชฎเซ‡เชœ เชคเชฐเซ€เช•เซ‡ เชชเซ‡เช•เซ‡เชœ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชœเซ‡ เชชเซเชจเชƒเชธเช‚เช•เชฒเชจ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพเชฎเชพเช‚ เชตเชงเชพเชฐเชพเชจเชพ เช˜เชŸเช•เซ‹เชจเชพ เช‰เชชเชฏเซ‹เช— เชตเชฟเชจเชพ เช•เซ‹เชˆเชชเชฃ เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เชšเชฒเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฎเซเช–เซเชฏเชฎเชพเช‚ eBPF เช•เซ‹เชก เชธเชพเชฅเซ‡เชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ, eBPF เชนเซ‡เชจเซเชกเชฒเชฐ เชคเชฐเชซเชฅเซ€ เช†เชตเชคเชพ เชกเซ‡เชŸเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชธเชนเชฟเชค, เชฌเชฎเซเชฌเชฒเชฌเซ€ เชฆเซเชตเชพเชฐเชพ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เช† เชกเซ‡เชŸเชพเชจเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ, เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎ เช…เชฅเชตเชพ เชฒเซ‹เช—เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เช†เชชเชฎเซ‡เชณเซ‡ เชจเชฟเช•เชพเชธ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ curl เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ. เชธเซ‚เชšเชฟเชค เช…เชญเชฟเช—เชฎ เชกเซ‡เชตเชฒเชชเชฐเชจเซ‡ eBPF เช•เซ‹เชก เชฒเช–เชตเชพ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชœเช—เซเชฏเชพ, เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เช…เชจเซ‡ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฒเซ‹เชก เชฅเชตเชพเชฅเซ€ เช† เช•เซ‹เชก เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช—เซ‹เช เชตเซ€เชจเซ‡ เชตเชฟเชšเชฒเชฟเชค เชจ เชฅเชตเชพ เชฆเซ‡ เช›เซ‡.

เช‡เชฌเซ€เชชเซ€เชเชซ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชกเซ‹เช•เชฐ-เชถเซˆเชฒเซ€เชจเซ€ "เชฎเชงเชฎเชพเช–เซ€" เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชคเชฎเซ‡ เชเช•เซเชธเชŸเชฐเซเชจเชฒ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชฐเชธ เชงเชฐเชพเชตเชคเชพ eBPF เชนเซ‡เชจเซเชกเชฒเชฐเชจเซ‡ เชคเชฐเชค เชœ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เชšเชฒเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชŸเซ‚เชฒเช•เชฟเชŸ เชคเชฎเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒเชพ เชตเชฟเชทเชฏเชจเชพ eBPF เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เชฎเชพเชŸเซ‡ C เชฎเชพเช‚ เช•เซ‹เชก เชซเซเชฐเซ‡เชฎเชตเชฐเซเช• เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ (เชนเชพเชฒเชฎเชพเช‚ เชซเช•เซเชค เชจเซ‡เชŸเชตเชฐเซเช• เช…เชจเซ‡ เชซเชพเช‡เชฒ เช‘เชชเชฐเซ‡เชถเชจเซเชธ เชฎเชพเชŸเซ‡เชจเชพ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เช•เซ‡ เชœเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‡เช• เชชเชฐเชจเชพ เช•เซ‰เชฒเซเชธเชจเซ‡ เช…เชŸเช•เชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡). เชœเชจเชฐเซ‡เชŸเซ‡เชก เชซเซเชฐเซ‡เชฎเชตเชฐเซเช•เชจเชพ เช†เชงเชพเชฐเซ‡, เชกเซ‡เชตเชฒเชชเชฐ เชคเซ‡เชจเซ‡ เชฐเซเชšเชฟ เชนเซ‹เชฏ เชคเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เชเชกเชชเชฅเซ€ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€ เชถเช•เซ‡ เช›เซ‡.

BCC (BPF เช•เชฎเซเชชเชพเช‡เชฒเชฐ เช•เชฒเซ‡เช•เซเชถเชจ)เชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชฌเชฎเซเชฌเชฒเชฌเซ€ เชฒเชฟเชจเช•เซเชธ เช•เชฐเซเชจเชฒเชจเชพ เชฆเชฐเซ‡เช• เชตเชฐเซเชเชจ เชฎเชพเชŸเซ‡ เชนเซ‡เชจเซเชกเชฒเชฐ เช•เซ‹เชกเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชชเซเชจเชƒเชฌเซ€เชฒเซเชก เช•เชฐเชคเซเช‚ เชจเชฅเซ€ (เชฌเซ€เชธเซ€เชธเซ€ เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชถเชฐเซ‚ เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เช•เซเชฒเซ‡เช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‘เชจ-เชง-เชซเซเชฒเชพเชฏ เช•เชฎเซเชชเชพเช‡เชฒเซ‡เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡). เชชเซ‹เชฐเซเชŸเซ‡เชฌเชฟเชฒเชฟเชŸเซ€เชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡, CO-RE เช…เชจเซ‡ libbpf เชŸเซ‚เชฒเซเชธ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชพเชฐ เช•เซ‹เชก เชฌเชจเชพเชตเชตเชพเชจเซ€ เช…เชจเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชฏเซเชจเชฟเชตเชฐเซเชธเชฒ เชฒเซ‹เชกเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡ เชฒเซ‹เชก เช•เชฐเซ‡เชฒเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เช•เชฐเซเชจเชฒ เช…เชจเซ‡ BTF เชชเซเชฐเช•เชพเชฐ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เช…เชชเชจเชพเชตเซ‡ เช›เซ‡. BumbleBee เช libbpf เชฎเชพเชŸเซ‡ เชเชก-เช“เชจ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค eBPF เชฎเซ‡เชช เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ RingBuffer เช…เชจเซ‡ HashMap เชฎเชพเช‚ เชธเซเชฅเชฟเชค เชกเซ‡เชŸเชพเชจเชพ เชธเซเชตเชšเชพเชฒเชฟเชค เช…เชฐเซเชฅเช˜เชŸเชจ เช…เชจเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชจ เชฎเชพเชŸเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡.

เช…เช‚เชคเชฟเชฎ eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ OCI เช‡เชฎเซ‡เชœ เชคเชฐเซ€เช•เซ‡ เชธเชพเชšเชตเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค "bee build file_with_code name:version" เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹ เช…เชจเซ‡ "bee run name:version" เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹. เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡, เชนเซ‡เชจเซเชกเชฒเชฐ เชชเชพเชธเซ‡เชฅเซ€ เชฎเซ‡เชณเชตเซ‡เชฒ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชŸเชฐเซเชฎเชฟเชจเชฒ เชตเชฟเชจเซเชกเซ‹เชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เชฅเชถเซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชนเซ‡เชจเซเชกเชฒเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชชเซ‹เชฐเซเชŸ เชชเชฐ curl เช…เชฅเชตเชพ wget เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชนเซ‡เชจเซเชกเชฒเชฐเซเชธเชจเซ‡ OCI-เชธเซเชธเช‚เช—เชค เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เช เชฆเซเชตเชพเชฐเชพ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, ghcr.io เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ (GitHub เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเซ€เชธเซเชŸเซเชฐเซ€) เชฎเชพเช‚เชฅเซ€ เชฌเชพเชนเซเชฏ เชนเซ‡เชจเซเชกเชฒเชฐ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ "bee run ghcr.io/solo-io/bumblebee/tcpconnect:" เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. $(เชฎเชงเชฎเชพเช–เซ€ เช†เชตเซƒเชคเซเชคเชฟ)โ€. เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชนเซ‡เชจเซเชกเชฒเชฐ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡, "เชฎเชงเชฎเชพเช–เซ€ เชชเซเชถ" เช†เชฆเซ‡เชถ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช›เซ‡, เช…เชจเซ‡ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชฌเชพเช‚เชงเชตเชพ เชฎเชพเชŸเซ‡, "เชฌเซ€ เชŸเซ‡เช—".

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹