今天没事翻了翻以前做的项目,发现此项目为多年前基于 Goliath1.0 + Grape 所做项目,(作为手机 APP 后台 API 服务线上稳定运行一年多,后来因为手机 app 和网站分开维护比较麻烦,后将其合并到 Rails 项目中将其下线)。
因为 Goliath 并没有提供一个统一的项目结构,故抽离的模板,今天分享出来给需要的人,可以参考此模板方便的实现 API 微服务。
项目地址
使用 Goliath 1.0 实现高性能微服务 API 完整模板(仅供参考)
支持:
- 异步 Rack Middleware
- 类 Rails 的项目目录结构,方便开发
- 自扩展的 Goliath 命令,比如 goliath console/ goliath start /goliath db 等,按需修改
- 支持 em-synchrony 异步 http remote request 方法(查看 lib/tools/http_base.rb)
- 增加了 Docker 化文件 (需要自行按需修改)
- 支持 Jbuilder 并且 支持 json cache(查看 lib/tools/json_cache.rb 需要自己定义)
- 支持异步任务
- 支持 capistrano 部署
- 支持 paperclip 文件上传(查看 config/initializes/paperclip.rb)
- 支持国际化、本地时区
- 其他(比如,可以自己配置 Grape Entity 替换 jbuilder 等)