2.2.1通过Golang+eBPF实现无侵入应用可观测。 From:https://zhuanlan.zhihu.com/p/507388164 微服务可观测的挑战 第三部分 微服务可观测的挑战 应用:微服务架构、多语言、多协议 挑战1:微服务、多语言、多协议环境下,端到端观测 复杂度上升,埋点成本居高不下 Kubernetes 容器 网络、操作系统、硬件 基础设施层复杂度日益增加 如何关联? 挑战3:数据散落,工具多, 缺少上下文,排查效率低下 Golang + eBPF实现数据采 集 第四部分 eBPF在可观测领域的优势 无侵入 多语言/多协议/多框架 全栈覆盖 无侵入性 • 无需修改代码 • 无需重启应用 • Verifier保证运行安全 多协议、多框架、多语言 • 捕获网络字节流 • 无需适配编程语言 • 无需适配协议框架 • 同时支持用户态插桩 全栈覆盖 ✅ uprobe ✅ kprobe ✅ tracepoint new: 应用监控eBPF版 • eBPF Agent性能提升20% • Otel Collector 性能提升80% • 无需要修改任何业务代码,一键接入eBPF监控 • 语言无关、框架无关、协议无关 无侵入的应用可观测 eBPF是一种在Linux内核运行的沙盒程序,无需修改 任何应用代码,提供无侵入的应用无关、语言无关、 框架无关的应用可观测能力,提供如网络、虚拟内存、 系统调用等Otel无法获取的数据指标。0 码力 | 29 页 | 3.83 MB | 1 年前3
Cilium的网络加速秘诀加速同节点pod间通信 cilium 使用 eBPF 程序,借助 bpf_redirect() 或 bpf_redirect_peer() 等 helper 函数,快速帮助同宿主机间 的流量转发,节省了大量的内核协议栈 处理流程 pod 1 process kernel network stack raw PREROUTING mangle PREROUTING nat PREROUTING 加速跨节点pod间通信 pod在跨节点通 信的场景下, cilium 借助 eBPF redirect 能力,帮 助数据包在主机物 理网卡和pod虚拟 网卡之间快速转发, 能够完全 bypass 内核协议族的处理。 在某测试场景下, 跨节点间的 pod 通 信的 tcp 性能,比 node间应用通信的 tcp 性能还稍高 woker node2 woker node1 pod1 info record the nodeIP and nodePort extracted from the IP header eBPF 加速本地通信 本地应用间的通信,需要经历冗长的内 核协议栈处理。尤其在 serviceMesh 流行趋 势下,sideCar 的重定向加速,成为重要话题。 cilium 利用 socket eBPF 程序,实现了对本 地应用通信间的加速转发。 相关测试表明:0 码力 | 14 页 | 11.97 MB | 1 年前3
共 2 条
- 1













