Go问答 如何给web项目(CMS)添加插件功能?

keepeye · 2018年04月26日 · 最后由 yhf_szb 回复于 2018年04月26日 · 685 次阅读

假如用 go 开发一个 cms 系统,想实现插件功能,用户可以下载、安装、卸载插件,不需要重启服务。

go plugin 好像不成熟,我就想能否使用内嵌脚本解释器的办法,通过脚本语言实现插件功能,go 只需要读取插件代码并执行。

如果该方案可行,那么选择哪种脚本语言呢?初步研究了 gopher-lua , otto (javascript),想知道还有没有其他选择

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

我之前想过这个问题,目前插件可能比较好的方法是路由配置的方式,插件当做单独的应用起来,然后主服务请求插件服务

我们的某个项目是用类似脚本的方案实现的,astaxie 说的那种其实本质就更像微服务了。

话说可以去看看 qlang,虽然我没怎么用过,不过看着很有意思的感觉。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册