【发布时间】:2015-04-12 23:28:59
【问题描述】:
几年前,我开始开发基于bottle Web 框架的Web 应用程序。那时我选择了 Bottle,因为它是最容易快速启动和运行的解决方案,而我只是在为我的想法构建一个原型。现在,我有几千行代码,我正在寻求进入生产级解决方案。
起初我认为我应该转向一个完整的堆栈框架,例如django 或web2py。当我朝着这个方向前进时,我开始只是根据需要使用其他框架的各个部分。例如,我实现了 web2py 的数据访问层 (DAL),以便我可以在 google-app-engine 上运行我的应用程序,现在我正在研究使用 web2py 的调度程序来管理作业。然后,我开始使用cherrypy 作为生产级网络服务器。我尝试了火箭服务器,但我遇到了更多错误,所以我更喜欢cherrypy而不是火箭。
我开始考虑重写我的代码以充分利用 web2py 的全栈解决方案;然而,重写我的路由功能以完全迁移到 web2py 的时间似乎很长,而且我对火箭服务器真的不满意。
我真的很喜欢 Bottle 的简单性,Bottle 使用装饰器函数将路由映射到函数的方式,以及可扩展性的理念。
我想知道使用 Bottle 进行路由与任何全栈框架相比在性能方面是否有任何特定优势。
感谢任何人对此的建议!
【问题讨论】:
-
嗨,韦斯 - 这更像是一个开放式讨论的开始,而不是一个有明确答案的问题。它很可能会因为“过于宽泛”而被关闭 - 除非您可以将其重点放在您遇到的特定 编程 问题上。 “生产级软件”没有硬性定义(这听起来像是营销胡言乱语,类似于“企业就绪”)。
-
感谢您告诉我...我会努力解决的。
-
我不会真正将 CherryPy 称为“生产级”。 uWSGI(通常与 nginx 结合使用)是 Python Web 应用程序选择的生产级服务器。
-
我想知道使用 Bottle 进行路由与任何全栈框架相比在性能方面是否有任何特定优势。 - 你的意思是“做路由”?
-
基本上,我正在尝试获得一些建议,以便在我向软件的更高生产级版本迈进时合法地使用 Bottle,但我意识到这可能会变得非常主观而且不太合适询问SO。看起来 Bottle + Nginx 可能是一个合理的解决方案。
标签: bottle django web2py google-app-engine cherrypy python performance architecture web2py bottle