Gleam-Go - 分布式任务执行系统


Apache
跨平台
Google 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