开源项目 使用 Goliath 1.0 实现高性能微服务 API 完整模板

blackanger · June 14, 2017 · Last by jzlikewei replied at June 19, 2017 · 6859 hits

今天没事翻了翻以前做的项目,发现此项目为多年前基于 Goliath1.0 + Grape 所做项目,(作为手机 APP 后台 API 服务线上稳定运行一年多,后来因为手机 app 和网站分开维护比较麻烦,后将其合并到 Rails 项目中将其下线)。

因为 Goliath 并没有提供一个统一的项目结构,故抽离的模板,今天分享出来给需要的人,可以参考此模板方便的实现 API 微服务。

项目地址

使用 Goliath 1.0 实现高性能微服务 API 完整模板(仅供参考)

支持:

  1. 异步 Rack Middleware
  2. 类 Rails 的项目目录结构,方便开发
  3. 自扩展的 Goliath 命令,比如 goliath console/ goliath start /goliath db 等,按需修改
  4. 支持 em-synchrony 异步 http remote request 方法(查看 lib/tools/http_base.rb)
  5. 增加了 Docker 化文件 (需要自行按需修改)
  6. 支持 Jbuilder 并且 支持 json cache(查看 lib/tools/json_cache.rb 需要自己定义)
  7. 支持异步任务
  8. 支持 capistrano 部署
  9. 支持 paperclip 文件上传(查看 config/initializes/paperclip.rb)
  10. 支持国际化、本地时区
  11. 其他(比如,可以自己配置 Grape Entity 替换 jbuilder 等)

性能怎么样,有数据分享下么

Reply to 42thcoder

goliath 的性能吗?网上有别人做的性能分析。我这个项目年代久远之前测试过的找不到了

我们一直在用 grape,裸 grape,跑在 unicorn 上,有想过用 goliath,但是没跑起来,赶时间就一直拖到现在。 可以介绍下如何跑在 goliath 上么

You need to Sign in before reply, if you don't have an account, please Sign up first.