首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

eBPF学习 – 入门

BPF是Berkeley Packet Filter(伯克利数据包过滤器)得缩写,诞生于1992年,其作用是提升网络包过滤工具得性能,并于2014年正式并入Linux内核主线。 BPF提供一种在各种内核事件和应用程序事件发生时允许运行一小段程序的机制,使得内核完全可编程,允许用户定制和控制他们的系统以解决相应的问题。 BPF是一项灵活而高效的技术,由指令集、存储对象和辅助函数等几部分组成。其采用了虚拟指令集规范,运行时BPF模块提供两个执行机制:解释器和即时编译器(JIT)。在实际执行前,BPF指令必须通过验证器(verifer)的安全性检查以确保BPF程序自身不会崩溃或者损坏内核。 扩展后的BPF通常缩写为eBPF,但是官方的说法仍然是BPF,并且内核中也只有一个执行引擎即BPF(扩展后的BPF)。

02

Service Mesh架构新技能之eBPF入门与实践

在分享这篇文章之前,先简单和大家说下背景。在之前的文章中作者分享了一些关于Service Mesh微服务架构的文章,在Service Mesh架构中需要通过SideCar代理的方式对应用容器流量进行劫持,并以此实现微服务治理相关的各种能力。但这种SideCar方式在微服务数量过多时会造成系统性能的降低,因为SideCar本质上来说,也是通过用户代码实现的网络代理来进行流量管控的。而eBPF则是一种替代SideCar的新式解决方案,它存在于操作系统的内核层级,在性能上表现更优。 因此目前关于Service Mesh微服务架构的技术方案开始逐步趋向于使用eBPF来替代原先的像Envoy这样的SideCar代理。本文的内容将详细介绍eBPF的前世今生,具体如下:

04
领券