裸骨API服务器与完整的网络服务器用于API处理

我最近使用Lua开发了一个基于Socket的系统,它很快就变成了一个Web服务器,我编写了一个小的API与Socket逻辑紧密耦合,我发现自己拥有了一个完整的API服务所需的一切,而不需要担心通常与传统Web服务器捆绑在一起的所有其他东西。由于我使用了OpenID,我发现在服务器逻辑中不需要cookie解析器,由于我只提供JSON数据,所以我跳过了实现文件管理实用程序,这些实用程序几乎占据了任何合理服务器设计的30%。

我认为我开发的东西最终成为了一个为我的JSON API服务的小型框架,我进行了负载测试,可以同时进行多达10,000个连接,因为我是用异步套接字,并且在开发计算机上的负载是可以接受的。

这种设计方式是否可行?我是说我无法从快速搜索中获得任何好的例子,但我肯定有人这样做。我对所获得的简单性和快速设计时间印象深刻,大多数时候我必须研究复杂的Web服务器内部事物才能完成这样的任务,但是逐步编写了所有内容后,我确实发现学习曲线更短。

我的整个代码库相当小,不包括Lua运行时,我可以通过API运行像Twitter这样的微型博客服务,并具有出色的错误处理。我现在正在设计API前端,它将在完整的Web服务器(NGINX)上运行……我真的想知道在专用自定义堆栈上实现API后端是否是最好的方式,或者我正在为未来设置一些非常疯狂的大惊喜。

点赞