上海启嘟渡科技商贸有限公司
SEARCH

与我们合作

我们专注提供互联网一站式服务,助力企业品牌宣传多平台多途径导流量。
主营业务:网站建设、移动端微信小程序开发、营销推广、基础网络、品牌形象策划等

您也可通过下列途径与我们取得联系:

微 信: wxyunyingzhe

手 机: 15624122141

邮 箱:

Eunomia: 让 ebpf 程序的分发和使用像网页和 web 服务一样自然

更新时间:2024-12-29 06:16:15

eBPF:一个革命性的技术

从古至今,操作系统一直占据着监视和控制整个系统的特权地位。然而,随着eBPF的出现,这一局面发生了改变。eBPF允许在操作系统内运行沙箱程序,使得应用开发者能够在运行时为操作系统增加额外功能。这种技术极大地扩展了内核的能力,而无需修改内核代码或加载内核模块。

eBPF的开发与分发经历了几个关键阶段。早期,通过libbpf进行尝试,引入了远程编译思想,将用户的BPF程序推送至远程服务器,使用高级语言如Python、Rust、Go或C加载并在全量内核版本下安全运行。此外,BumbleBee等工具提供了自动生成相关用户空间代码的功能,包括加载eBPF程序和展示程序产生的数据。尽管如此,这些工具在使用和分发上仍存在不便之处。

Eunomia旨在探索一种全新途径。通过本地或远程编译后,利用HTTP RESTful API进行eBPF字节码的直接分发。在生产环境中,仅需4MB运行时空间,实现快速的动态分发、热加载和热更新,无需考虑内核版本限制,且无需在生产环境中安装底层库(如LLVM、Python等)或搭建环境。这一解决方案简化了eBPF程序的部署与管理。

为了实现这一目标,Eunomia提供了一套完整的热更新流程,仅需三个步骤即可完成。相较于传统通过镜像分发或二进制分发CO-RE程序的方式,Eunomia在分发速度和启动速度方面表现出显著优势,无需进行容器调度、停机更新或重启,也不依赖其他语言的编译运行时环境。

为了快速上手Eunomia,只需按照以下步骤操作:下载编译完成的二进制文件,完成本地或远程编译,启动Eunomia server,并通过client远程分发和启动跟踪器。此外,Eunomia还提供了示例代码,包括一个client example和ebpf代码模板,帮助用户轻松实现与内核版本无关的热更新和功能扩展。

作为试验性质的产品,Eunomia目前的功能有限,团队正积极开发和完善相关API。我们期待Eunomia在未来的应用中发挥更大的作用,提供更加全面和高效的服务。

了解更多详情,欢迎访问我们的GitHub仓库和网站。

多重随机标签

猜你喜欢文章

QQ客服 电话咨询