返回

文章详情

Caddy 与 zeroserve 的兼容性:3 倍吞吐量和 70% 较低的延迟

Hacker News2026年6月14日 13:43

zeroserve 是一款高性能的 HTTPS 服务器,能够在用户空间运行 eBPF 脚本(介绍)。现在它具有 Caddy 兼容模式——在提供 Caddyfile 后,zeroserve 将其 JIT 编译为 eBPF,然后转换为本地 x86_64/ARM64 机器代码,并在 io_uring 事件循环中运行。协议服务器吞吐量 P50 P99 峰值 RSS HTTPS zeroserve-clang 38,948 req/s 1.45ms 3.91ms 30.9 MiB HTTPS zeroserve-tcc 36,653 req/s 1.67ms 4.00ms 34.2 MiB HTTPS caddy 12,529 req/s 4.74ms 13.11ms 67.4 MiB HTTPS nginx 37,424 req/s 1.57ms 4.24ms 25.7 MiB HTTPS 反向代理,2 个线程,AMD Ryzen 7 3700X。检查 CI 以获取原始运行结果。尝试使用您的 Caddyfile:curl -fL -o zeroserve https://github.com/losfair/zeroserve/releases/download/v0.2.11/zeroserve-$(uname -m)-linux chmod +x zeroserve ./zeroserve --caddy /etc/caddy/Caddyfile curl http://127.0.0.1:8080 zeroserve 运行图灵完备的 eBPF,您可以从 Caddyfile 调用自定义代码。例如,要将路径反向代理到与 S3 兼容的桶,并使用 AWS SigV4 身份验证,请获取 io.su3.aws-sigv4.c,然后:# zeroserve --plugin io.su3.aws-sigv4.c --caddy Caddyfile example.com { 路由 /s3/* { uri strip_prefix /s3 重写 * /my-bucket{uri} # 在 eBPF 中间件 `io.su3.aws-sigv4.o` 中调用 `sign_request` 方法 zeroserve_call io.su3.aws-sigv4 sign_request { access_key_id "minioadmin" secret_access_key "minioadmin" } 反向代理 http://127.0.0.1:9000 } } © 2022-2026 赵黑阳 · RSS

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡