timzaak / blog

8 stars 1 forks source link

Fluent-bit 源码学习 #48

Closed timzaak closed 2 years ago

timzaak commented 5 years ago

环境搭建参考 #47

目前源码阅读的还比较浅,先从依赖看起

  1. chunkio, 把文件作为块往内存里导。
  2. libco改进版, 协程库
  3. jemalloc, 内存分配管理
  4. jsmn, json 库
  5. libbacktrace, 函数调用栈调试
  6. luajit/LuaJIT, lua 脚本语言
  7. mbedtls, SSL/TLS 功能
  8. monkey, 嵌入式 http 服务
  9. msgpack, 二进制序列化/反序列化
  10. onigmo, 正则表达式
  11. rbtree, 红黑树
  12. sqlite, 数据库

很多库都是以嵌入式为核心,低内存、低消耗。怪不得 fluent-bit 的运行内存那么低。

这些库,从理解 API 到正确熟练使用 API,我觉得怎么也需要我好几个月的时间吧。进入一个新领域的成本有些高。

以此为范本,看一下 Rust 相应功能库的发展状况,基本可预知 Rust 的成熟度了。