Wal*_*r K 6 xml embedded https soap web
我需要将Web服务器集成到运行Linux的嵌入式设备中,并且正在评估OSS和商业产品.
系统要求不是特别严格: - 内存运行设置高达10MB, - 可以节省20%+的300MHz ARM以及更多突发, - UI将采用jQuery和JSON,因此想要提供几百KB的页面链接一秒钟之内的十几个CSS和JS文件.
功能要求: - HTTPS支持, - 10个并发连接, - 针对DOS攻击进行了良好测试.
将非常感激集成XML解析器基础上的SOAP实现.
不是PHP的粉丝,但也不确定服务器端的Javascript,也不熟悉Lua.所以寻找模板解决方案的建议,也许是基于Python的堆栈.
已经回顾了关于SO和维基百科上的列表的讨论.我知道thttpd,Mongoose,Cherokee,Appweb.
在此,我根据生产质量部署的第一手经验,邀请详细的技术建议和实施选择的讨论.
当谈到简单的 python 服务器堆栈时,我在社区中最常听到的轻量级实现组合是CherryPy(提供线程池 WSGI 服务器)和Werkzeug(创建应用程序的基本结构)两者对 WSGI 的看法略有不同,这大大加快了开发时间。
在这个问题上,有一些很好的注释概述了基本的 Python 框架比较(尽管不是在嵌入式环境中,但重点是轻量级部署。),其中 Alex“机器”Martelli 对这两个框架进行了权衡。
如果您能负担得起 python 解释器的开销(我认为这是可以的,因为您将其包含在符合条件的列表中),那么 werkzeug 是设置由简单端点组成的应用程序的绝佳方法。响应可以内联 mimetype 来帮助输出 UI 库(Jquery 等)。Werkzeug 文档中有一些很棒的示例。
我能够找到的关于比较 WSGI 服务器(以满足您对高并发连接和 DOS 生存能力的需求)的最佳资源之一可以在Nicholas Piel 关于该主题的博客文章中找到,其中 CherryPy 被列为最好的资源之一“物超所值”的资源,以提高速度。Cherry 中的 WSGI 服务器已准备好部署,并且可以用作为 Werkzeug 应用程序提供环境的服务器进程,因此您不需要使用 mod_wsgi 实现 Apache 等更重的东西。Cherry 能够轻松达到平均 2000 转/秒左右的速度,在中等负载下响应时间远低于一秒。
由于我不知道您将在哪种设备上部署它,所以我当然应该提到这两个平台都会定期更新,因此如果出于某种原因分配网络资源来更新设备不切实际,也应该考虑这一点。
通过将 python 的minidom模块 (v2.6+) 与 Werkzeug 中的端点路由相结合,您还应该受益于非常好的开发速度。使用 Werkzeug 的功能构建复杂的 url 模式非常简单Map,其文档页面上的教程对此提供了很棒的概述。在两者之间,启动并运行您的 Web 服务应该不会太困难。
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |