OpenResty 通过汇聚各种设计精良的 Nginx 模块,从而将 Nginx 有效的变成一个强大的 Web 应用服务器,这样, Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种C以及Lua 模块,快速构造出足以胜任 10K+ 并发连接响应的超高性能Web 应用系统.
OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应.
NIO是非阻塞IO,传统的 BIO 是每次request服务器都会分配一个线程,所以,当某个线程发生IO阻塞的时候,该线程就无法充分利用。而NIO则是服务器会不断的轮询每一个client发送的request,如果有N个可读状态的request,OK,那服务器就会分配N个线程去读,所谓非阻塞就是这个意思。1、Tornado 特点Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开
源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了
能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具和
优化。
2、Flask
Flask 是一个微型的 Python 开发的 Web 框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。语法简单,部署很方便。
核心特征
路由:使用一个简单但有力的模式语法,映射 URLs 到代码。
模板:快速的内建模板引擎,并且支持 mako、jinja2 和 cheetah 模板。
服务器:内建 HTTP 开发服务器,并支持 paste、fapws3、flup、cherrypy
或其它任何有 WSGI 功能的服务器。
无依赖:所有东西都在一个单一的文件中,并且不依赖其它任何 Python 标准库。
示例代码:
from flask import Flask
app = Flask(__name__)
@app.route(“/”)
def hello():
return “Hello World!”
if __name__ == “__main__”:
app.run()
==========================================
————————————-
Bottle
————————————-
3、区别
Tornado 和现在的主流 Web 服务器框架有着明显的区别:是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web服务来说,Tornado 是一个理想的 Web 框架。开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)