Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4560916
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: IT业界

2012-06-22 22:42:19

文章来源:http://blogread.cn/it/article.php?id=5485&f=sinat
 知乎的整个网站架构图如下:

    

    知乎是国内很少的使用Python开发的一个网站,也很多值得我们学习的地方,从知乎让我们也可以了解到一些新的WEB技术。

    一、Python框架

    知乎目前使用的是 框架。 Tornado 全称Tornado Web Server,是一个用Python 语言写成的Web 服务器兼Web 应用框架,由 FriendFeed 公司在自己的网站FriendFeed 中使用,被facebook 收购以后框架以开源软件形式开放给大众。

    参考链接:

    学习文档:http://www.tornadoweb.cn/documentation

    二、数据库

    目前知乎采用的是MySQL作为主要的存储,使用 为ORM进行数据库的建模或者映射。

    三、缓存技术

    知乎使用来进行缓存、队列、计数或者任务,使用Redis-Py为其连接客户端。

    Redis参考链接:

    Redis-Py参考链接:

    四、Javascript框架

    知乎使用Google的Closure Library作为前端的JavaScript 框架。

    五、负载处理

    目前知乎使用的是做反向代理,用nginx来做静态文件等大数据量的I/O操作。

    六、图片服务

    知乎以前用到的,现在已经迁移到知乎自己建的图片服务上。

    七、邮件服务

    知乎的邮件发送一开始使用的是Amazon的SES,由于SES有些功能不能满足需求,目前已经转换成。

    八、消息系统

    知乎消息系统采用的是comet实现,comet是基于http长连接的“服务器推”技术。

    九、虚拟环境

    作为一个Python网站,知乎很有可能采用来解决纯净的包环境问题。

    中文文档地址:

    十、代码部署

    常见的Python项目基本上采用进行部署,不知道知乎到底用的是哪一个。

    十一、搜索实现

知乎使用做中文分词,对应的词根存在redis中作为key,数据库id作为value,每个数据项是一个zset集合。查询时根据key找到对应的value。

阅读(1876) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~