https://github.com/fluent/fluent-bit

可以看作用 C 重写的 Fluentd,功能暂时还不够多,核心部分也还没有利用上多线程。当然 C 的内存安全问题也会影响 Fluent Bit,开发者需要下很大功夫才能保证内存安全。

缺点不少为什么还是要推荐一下它呢?其实败也 C,成也 C。尽管 C 有不少缺点,但作为最接近机器和 POSIX 内核的语言,Fluent Bit 的潜力还是很大的。

  • 性能:通过异步 I/O 性能已经~达到 Node.js 的水平~很不错了,正在开发中的多线程模式能进一步解决性能瓶颈。
  • 可维护性:代码非常规范,可读性不错。
  • 可靠性和数据完整性:作为核心卖点之一,开发者还是很重视这两方面的问题的。实在不行直接上系统调用自己实现,C 可没有其他语言那么多顾虑。
  • 可扩展性:简单需求 Lua 解决,复杂的也支持用 C、WebAssembly 和 Go 写自定义插件,当然使用 Go 和 Lua 都有一定性能损耗。注意 Go 只能用于输入和输出插件,WebAssembly 只能用于输入和过滤器插件,C 的话都可以。

标签: none

添加新评论