共计 720 个字符,预计需要花费 2 分钟才能阅读完成。
OpenResty 下使用 Apache Ant Path 匹配库
一、简介
OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台, 而 lua 相对于编译型语言性能比较差,所以我们使用编写 sharedobject 库的方式集成到 OpenResty 项目中去。luajit 使用 ffi 调用 libcgoantpath.so 来实现 pattern 匹配。基于以上思路我们实现了一个符合 Apache Ant Path 标准的动态共享库,Git 地址:go-antpath v1.1, 为了方大家使用我们还封装了 lua 版本的 lua-antpath v1.0.1,欢迎大家多多指导,共同进步。
二、参考
http://ant.apache.org/manual/api/org/apache/tools/ant/
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/PathMatcher.html
go-antpath
lua-antpath
https://github.com/golang/go/wiki/cgo
https://golang.org/cmd/cgo/
https://groups.google.com/forum/#!topic/golang-nuts/Nb-nfVdAyF0
三、编译及运行环境
3.1 编译环境
GNU Make 4.1 golang 1.9.2+
3.2 运行环境
luajit 2.1 antpath.go(执行 make 的时候自动下载)lua2go v1.0 (执行 make 的时候自动下载) cjson(OpenResty 自带优良库)
四、使用