美文网首页
分享:知乎的网站架构

分享:知乎的网站架构

作者: 青年克拉苏 | 来源:发表于2018-02-27 20:45 被阅读0次

    1. Python框架

    知乎目前使用的是Tornado框架。

    参考链接:http://zh.wikipedia.org/wiki/Tornado

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

    2. 数据库

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

    3. 缓存技术

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

    Redis参考链接:http://redis.readthedocs.org/en/latest/index.html

    Redis-Py参考链接:http://redis-py.readthedocs.org/en/latest/index.html

    4. JavaScript框架

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

    5. 负载处理

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

    6. 图片服务

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

    7. 邮件服务

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

    8. 消息系统

    知乎消息系统依靠comet实现。

    9. 虚拟环境

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

    中文文档地址:http://virtualenv-chinese-docs.readthedocs.org/en/latest/index.html

    10. 代码部署

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

    11. 搜索实现

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

    相关文章

      网友评论

          本文标题:分享:知乎的网站架构

          本文链接:https://www.haomeiwen.com/subject/shzztftx.html