Pikacode公司技术选型成功方案

“及早发布。频繁发布。听取客户的意见”(Eric S. Raymond, The Cathedral and the Bazaar)是我们Pikacode公司的主导方针。开发中的技术选型必须认真的遵循这个指导原则。

[[103098]]
Pikacode公司Logo

Python

快速且整洁的开发。大部分我们的关键组件,如为git提供服务的http或ssh server以及mercurial远程操作,都只有不到几百行代码。更少的代码意味着更少的bug和更少的维护量,增加新功能也变得容易。Python生态系统和Pip(http://pypi.python.org/pypi)非常稳固,这使系统依赖模块的升级变得轻而易举。我们使用virtualenv (http://pypi.python.org/pypi/virtualenv)来隔离我们的各个应用。

Django和其它的python相关组件

如果你选择使用python来开发,那***的一个框架就是Django。Django拥有所有开发多功能网站的需要的特征,并且易于扩展。你需要的所有程序库它都能提供。升级简单而且不会影响你的应用。

后台任务由Rabbitmq (http://www.rabbitmq.com)集成Celery (http://celeryproject.org/)来处理。我们使用后台调度程序来处理好资源的操作,例如统计计算,压缩下载等高负担的存储操作。用Javascript查询后台任务状态,向用户显示最终状态结果。

Bootstrap css框架

如果你是做开发的,且你的web设计方面的技术非常差,CSS框架能帮助你开发出一个用户体验非常好的漂亮的界面。Bootstrap是***的一个框架,能帮助你设计出风格一致的web应用。(http://twitter.github.com/bootstrap/).

Web服务器和管理员工具

最关键的技术层是HTTP相关的,下面这些信息是关于底层web技术选型的。我们使用gunicorn (python WSGI http server http://gunicorn.org/)来服务django请求。Nginx是我们的web服务器。用Varnish来处理http缓存。Uwsgi 和 定制的ython WSGI servers来处理http远程操作。

Supervisord (http://supervisord.org/) 管理我们所有的运行进程,Nagios负责监控我们所有的服务。

结论

我们所有的程序都由Mercurial进行版本管理(我们自己搭建的服务),所有程序的部署都用过定制的 Fabric 脚本 (http://docs.fabfile.org/)进行。通过一条命令来把代码推入产品环境中。

原文英文:Pikacode technology stack

译文链接:http://www.aqee.net/pikacode-technology-stack/

分享文章:Pikacode公司技术选型成功方案
网页路径:http://www.shufengxianlan.com/qtweb/news14/439614.html

成都网站建设公司_创新互联,为您提供静态网站做网站网站建设关键词优化外贸建站电子商务

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联