文件名称:ego-demo:Go中的Envoy过滤器
文件大小:248KB
文件格式:ZIP
更新时间:2024-04-01 10:28:02
go golang cgo envoy envoy-filter
演示 这是一个演示示例,说明如何使用Go的功能基于为Envoy构建Golang筛选器。 尽管可能足以帮助理解此方法的大多数挑战和好处,但它的边缘仍然有些粗糙。 设计原则 为Go开发人员提供Go-native体验 尽可能支持零拷贝数据访问 未调理的接口:尽可能使使者C ++接口类反映 成功案例 使用零复制并利用Envoy的protobuf验证机制从C到Go解析并传递过滤器配置 零拷贝和强并行接口设计的C和Go之间的通信 允许以最少的纪律使用goroutines( Pin / Post / Unpin ) 创建新过滤器而无需接触C代码(“提升”新的使节界面时除外) 通过Envoy的内置客户端支持与SDS的交互 挑战性 该项目仍处于起步阶段,还有一些技术难题尚待解决。 依赖周期 为了从C调用Go函数,首先需要构建go库(因为这会生成所需的C标头)。 但是,Go库也依赖于C库(以方便对特使