socketref,再见!高德

https://github.com/adoggie

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用链接

留言簿(54)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

相关技术:  haproxy_keepalived_nginx_uwsgi_gevent_django 

之前部署django一直采用 apache + mod_wsgi,用得倒也没啥问题,看到越来越多的人采用nginx部署,所以也尝试了一下,结果很让人欣喜。

nginx够小够简洁,编译、配置相当简单,但要知道她仅仅是个静态webserver,动态功能需要搭配相应的cgi来实现; 
uwsgi是个啥东西,看其官方文档还真写的相当详细,功能很丰富,但我的需求可能只会使用其30%的功能;
uwsgi可以认为是python代码运行的loader,或者是容器(container),这有点像java的container(resin,tomcat)。看了其配置文档,很是惊喜,其不仅可以配置为多进程+多线程模式,也可以配置为单进程+多线程模式,并能保持高并发高销率,非常感兴趣。
一直以来自己总在寻找一种 高效、灵活的django的应用容器。
apache默认都是多进程模式,http又是无状态的,不同的请求被分派到不同的进程处理,request处理都是隔离的。多进程带来的问题是高昂的系统开销(apache也支持多线程处理)。
这种隔离又带来了诸多不便,request之间不能共享状态、数据和协作,不能很好的完成与外部系统的协同工作(例如request共享同一个服务器的socket连接或者访问控制某个rs232端口)
所以很想有种类似java的应用容器这样的东东。 
接触了gevent,其核心是io异步分派,单线程模拟多协程来对应用层多任务的支持,几近疯狂io效率得到了我的认可。ps:八过smp系统就应该启动多个gevent服务,不然其他核心数都浪费了。
采用gevent+django的模式搭建了自己得app容器,也跑了几个项目,总体效果还是可以。
nginx+uwsgi+django 的配合开始应用到新项目中
posted on 2015-01-01 00:41 放屁阿狗 阅读(715) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理