Reload Original PagePrint PageEmail Page

《码农周刊》用到的一些技术 - 码农IO官方博客

technologies we use

"There should be one-- and preferably only one --obvious way to do it. "

TL;DR


上篇,我们说过“没什么技术含量”。罗列了下,还是用到一些技术的。
技术选型离不开应用的规模和场景。
我们的第一原则是:Don't install B。能用灭蚊器的时候一定不会用高射炮。
除此之外,我们考虑的是:轻量、高效和稳定。

Web Development


Pyramid + SQLAlchemy + PostgreSQL

Pyramid

"pay only for what you eat"

Pyramid,我们用它作为 Web 开发框架

SQLAlchemy

SQLAlchemy 是个伟大的开源项目,Python 世界里最好用的 ORM 引擎,社区也很活跃,推荐!

Celery

Celery(芹菜)是一个异步任务队列。它侧重于实时操作,对调度支持很好。我们的邮件发送任务是交给 Celery 完成的。

Bootstrap

Bootstrap 是 Twitter 推出的用于前端开发的开源工具包。它由 Twitter 设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS/HTML 框架。非常好用,没写什么 CSS 就把管理后台搞定了。

Database


PostgreSQL

我们的数据存储在 PostgreSQL 中。

Redis

我们使用 Redis 作为 Celery 的后端。

Deployment


Buildout

Buildout xkcd

Buildout 是一个基于 Python 的构建工具,非常强大。

Alembic

Alembic 是数据库迁移工具,我们希望管理数据也能像管理代码一样。
如果你的项目中也用了 SQLAlchemy 作为 ORM,那么 Alembic 一定适合你。它的作者和 SQLAlchemy 作者是同一个人。

Gunicorn

使用 Gunicorn 作为 WSGI 服务器,性能非常好。

Supervisor

Supervisor 是用 Python 写的一个进程管理工具,我们用来管理 Gunicorn 和 Celery。服务挂掉时 Supervisor 会帮我们自动重启,比如部署应用手动重启只需要一条命令搞定:

supervisorclt restart weekly

Fabric

自动化部署和常规系统管理我们用了 Fabric
我们知道 Ruby 世界有 Capistrano,Python 世界同样有这样一个工具,而且比 Capstrano 更简单好用。

Nginx

HTTP Server 我们用了 Nginx,这个就不用过多介绍了。

Monitoring


Munin

服务器性能监控我们用了 Munin
Munin 的插件编写非常方便。我们应用中的一些数据监控,以及订阅/退订/点击等情况的报表也做在 Munin 上,看起来很直观。

Flower

Flower 是一个基于 Web 界面的用来监控和管理 Celery 集群的工具.

Sentry

Python 的错误报告,我们使用 Sentry
Sentry 是由 Disqus 的 David Cramer 开发的一个开源项目,David 也是 Django 社区的大牛。Sentry 非常方便,主流开发语言的客户端都有实现。官方文档地址

欢迎探讨,欢迎拍砖。


如果你是程序员,欢迎订阅我们的《码农周刊》。 ::...


免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::