Gleam-Go分布式任务执行系统
Gleam 是一个高性能和高效的分布式执行系统。纯 Go 编写,可独立运行,也可分布式运行。
高性能
-
纯 Go 编写的 mapper 和 reducer 具有高性能和并发性
-
LuaJIT 的性能,可与 C,Java,Go 相媲美。 它可流式处理数据,而不用在 Go 和 Lua 之间的上下文切换
-
数据通过内存时,可选择是否流入磁盘
-
多个 map/reduce 步骤被合并在一起以获得更好的性能
内存高效
-
Gleam 不会发生常见的 GC 问题。 每个执行器在单独的 OS 进程中运行。 存储器由 OS 管理。 一台机器可以托管多个执行器
-
Gleam 主服务器和代理服务器是内存高效,只消耗大约 10 MB 内存
-
Gleam 尝试根据数据大小提示自动调整所需的内存大小,避免尝试法导致的错误,及手动调整工作
灵活性
-
Gleam 流可以独立运行,也可分布式运行
-
在记忆模式或 OnDisk 模式下可调
易于定制
-
Go 代码比 Scala,Java,C ++ 更易读
-
可选的 LuaJIT FFI 库可以轻松调用任何 C 函数,以获得更高的性能或使用任何现有的 C 库
-
(future)使用 Lua 编写的 UDF 编写 SQL
评论