eBPF - Rethinking the Linux Kernel

https://www.youtube.com/watch?v=f-oTe-dmfyI&list=WL&index=3

https://www.infoq.com/presentations/facebook-google-bpf-linux-kernel/

eBPF是如何让我们重新思考Linux Kernel的,我觉得其中一些观点很有启发性,目前公司用eBPF来做些什么事情,以及eBPF对Linux Kernel的影响。


eBPF满足了在Linux Kernel上面进行快速开发的需要,这需要3点来进行保证:安全性,持续交付和性能。

Pasted-Image-20231225104613.png

eBPF运行原理也比较简单,可以看coolshell这篇文章 https://coolshell.cn/articles/22320.html. 简单说就是可以将C代码编译成为eBPF bitcode(持续交付), 然后由Linux Kenel进行验证(安全性),验证通过就可以加载到Kernel里面去,运行之前会使用JIT Compiler进行加速(性能)。

Pasted-Image-20231225104550.png

目前几个大厂用eBPF来做下面这些事情:网络安全和负载,容器化安全,性能分析和优化。

Pasted-Image-20231225104648.png

eBPF对于Linux Kernel影响很大的:有了这个东西Linux Kernel可以朝微内核方向发展,此外就是可以对Kernel进行热补丁 。

Pasted-Image-20231225104721.png