博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
知乎技术方案初探[转]
阅读量:6280 次
发布时间:2019-06-22

本文共 1236 字,大约阅读时间需要 4 分钟。

知乎的整个网站架构图如下:

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

  一、Python框架

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

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

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

  二、数据库

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

  三、缓存技术

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

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

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

  四、Javascript框架

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

  五、负载处理

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

  六、图片服务

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

  七、邮件服务

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

  八、消息系统

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

  九、虚拟环境

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

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

  十、代码部署

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

  十一、搜索实现

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

 

来源:http://www.thebigdata.cn/QiTa/11773.html

转载于:https://www.cnblogs.com/daly2008/p/3972260.html

你可能感兴趣的文章
定制Eclipse IDE之插件篇(二)
查看>>
引用 LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别
查看>>
Codeforces 527C Glass Carving(Set)
查看>>
PHP获取表单方法
查看>>
SQLServer复制表
查看>>
乞讨 间隔[a,b]在见面p^k*q*^m(k>m)中数号码
查看>>
验证LeetCode Surrounded Regions 包围区域的DFS方法
查看>>
Mongodb 之insert瞬时完成,测试数据---飞天博客
查看>>
实时监听输入框值变化:oninput & onpropertychange
查看>>
消息队列规范及实现
查看>>
jQuery整理您的笔记----jQuery开始
查看>>
多数据源问题--Spring+Ibatis 访问多个数据源(非分布式事务)
查看>>
vim 设置 swap file, 防止 同一个文件同时被多次打开,而且有恢复的功效
查看>>
架构之路(三) 单元测试
查看>>
virtual memory exhausted: Cannot allocate memory
查看>>
Android百度地图开发02之添加覆盖物 + 地理编码和反地理编码
查看>>
nodejs显现events.js:72抛出错误
查看>>
MFC中获取命令行参数的几种方法
查看>>
HTTP协议详解(真的很经典)
查看>>
web_find和web_reg_find的用法和区别
查看>>