C++ Pipeline需求和演进 #855
yyuuttaaoo
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
现状
需求
性能
C++加速模式和Go插件模式互斥,常用场景无法享受C++加速。
希望常用场景可以使用C++加速模式,同时使用Go进行扩展处理、发送。
可扩展性
C++加速模式功能比较单一,只支持写入SLS,开源无法贡献,无法满足自定义处理需要。
希望C++加速模型也可以让开源贡献变得容易,可以扩展Input、Processor、Flusher插件,更多处理需求可以享受更高性能。
支持复杂数据处理
如根据日志内容分流到不同处理节点、再进行合并
动态扩展
单一的Binary + Plugin体积过大。
希望支持通过so动态加载插件。
跨语言
C++语言不熟悉无法贡献扩展插件
C、C++、Go、Rust、WASM
演进路线
当前的iLogtail C++部分不支持插件化,并且Input后的数据直接输入Go插件,无法利用到C++的处理能力。
Stage 1:Processor插件化 + Go可以利用C++处理能力
关键可用功能点:
Stage 2:Input支持插件化,且可以配置在同一个Pipeline内支持Fan-in、Fan-out(SLS only)
关键可用功能点:
Stage 3:支持一个Input多个下游,Flusher支持插件化
关键可用功能点:
Stage 4:支持DAG表达能力,利用事件模型、协程技术优化线程模型,Go和C++ Processor支持互相调用
关键可用功能点:
Beta Was this translation helpful? Give feedback.
All reactions