go+lua的分布式计算工具--Gleam

此处是一个通过Go和LuaJIT编写的快速和可扩展的分布式映射/缩减系统,很好的将Go的高并发性与Luajit高性能相结合,可独立运行或用于分布式计算。 Gleam是一个高性能和高效的分布式执行系统,具备高性能、简单,通用,灵活和易于定制的特点。它在Go中构建,用户定义的计算可以用Lua,Unix管道工具或其它任何流程序编写。下面是它的安装方式和具体使用实例:

安装方式:

1、安装go

2、安装luaJIT

3、将自定义的MessagePack.lua放在luajit可以找到的文件夹下。

4、 安装测试

如果出现以下问题,只需复制MessagePack.lua到其中一个路径。

  • luajit: (command line):1: module 'MessagePack' not found:
  • no field package.preload['MessagePack']
  • no file './MessagePack.lua'
  • no file '/usr/local/share/luajit-2.0.4/MessagePack.lua'
  • no file '/usr/local/share/lua/5.1/MessagePack.lua'
  • no file '/usr/local/share/lua/5.1/MessagePack/init.lua'
  • no file './MessagePack.so'
  • no file '/usr/local/lib/lua/5.1/MessagePack.so'
  • no file '/usr/local/lib/lua/5.1/loadall.so'

使用实例:

package main

import (
    "os"

    "github.com/chrislusf/gleam"
)

func main() {

    gleam.New().TextFile("/etc/passwd").FlatMap(`
        function(line)
            return line:gmatch("%w+")
        end
    `).Map(`
        function(word)
            return word, 1
        end
    `).ReduceBy(`
        function(x, y)
            return x + y
        end
    `).Fprintf(os.Stdout, "%s,%d\n").Run()
}

通过以上内容、我们知道Geam的安装和使用都比较简单、而且基于golang和lua简单的语法规则和高效和并发性能、它也可以给用户带来更好的开发体验。希望有兴趣的同学可以享受到Gleam给大家带来的便利

源文链接:

https://github.com/chrislusf/gleam

0 个评论

要回复文章请先登录注册