R的高性能 http 服务 fiery
思路可借鉴,但内容已经过时,请忽视。可转向 https://github.com/rexyai/RestRserve
前文说到使用 opencpu 来搭建 http 服务,opencpu 可以很快速的通过构建 R 包的方式来搭建 http 服务, 很快捷,而且支持各种响应机制。但我们在搭建线上服务时,经常有需求将请求响应的时间控制在100ms以内,opencpu的框架就存在问题了。 这里再介绍R的另外一个包:fiery,部署更加方便且响应优势更加明显(一般30ms以内)。
首先假设我们面对的场景是垃圾邮件预测,已经根据离线数据构建了预测模型:
1 | library(xgboost) |
假定我们线上预测流程是这样:
- 通过传递邮件id号获取该邮件的特征
- 用xgboost模型来预测spam的概率
- json返回预测结果以及埋点结果