“知乎网”技术方案初探

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

知乎是国内很少的使用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。

时间: 2024-11-08 19:55:53

“知乎网”技术方案初探的相关文章

网上收集的“知乎网”技术方案架构

知乎的整个网站架构图如下: 知乎是国内很少的使用Python开发的一个网站,也很多值得我们学习的地方,从知乎让我们也可以了解到一些新的WEB技术. 一.Python框架 知乎目前使用的是Tornado 框架.Tornado 全称Tornado Web Server,是一个用Python 语言写成的Web 服务器兼Web 应用框架,由 FriendFeed 公司在自己的网站FriendFeed 中使用,被facebook 收购以后框架以开源软件形式开放给大众. 参考链接:http://zh.wik

[转载]知乎技术方案初探——基于Python的Tornado框架

原文出处:http://nonfu.me/p/5935.html 知乎的整个网站架构图如下: 知乎技术方案 知乎是国内很少的使用Python开发的一个网站,也很多值得我们学习的地方,从知乎让我们也可以了解到一些新的WEB技术. 一.Python框架 知乎目前使用的是Tornado 框架.Tornado 全称Tornado Web Server,是一个用Python 语言写成的Web 服务器兼Web 应用框架,由 FriendFeed 公司在自己的网站FriendFeed 中使用,被faceboo

下周二推出“音视频技术WebRTC初探”公开课,欢迎捧场!

?? 下周二推出"音视频技术WebRTC初探"公开课,欢迎捧场! 公开课课程链接:http://edu.csdn.net/huiyiCourse/detail/90 课程的解说资料和代码将会在公开课结束后上传到 http://download.csdn.net/user/yangzhenping 以下是课程信息: 课程简单介绍 WebRTC的核心源于GIPS. GIPS(Global IP Sound)原是世界顶尖的互联网音视频方案提供商,于2010年被GOOGLE 用6820万美元收

Android & IOS视频录制技术方案

屡次想经营一个技术博客,总因为各种理由推脱.这次下定决心开写,不为自我营销,不为扩大社交,只为了督促自己学习.近几个月定时更新两条线,一个是短视频处理技术,一个是<算法导论>笔记,也借机温故知新.精力有限而且学习也不能贪多,所以每周仅各一篇. 警告诸多网站:原创博客,未经本人允许不得转载. 移动端视频录制的技术方案,我所能想到并且尝试过的,有如下几种: 方案一: 用系统开发sdk录制的接口. 弊端: 1):不能更改视频比例,一般都有该手机屏幕分辨率所对应得视频录制分辨率,另外手机系统提供得分辨

智慧停车诱导技术方案

第1章. 技术方案及系统集成实施方案技术方案1.1.城市道路停车现状分析1.1.1.中国城市道路停车现状说明随着我国的国民经济的迅猛发展,汽车消费历年来呈现高速增长的态势.高速增长的汽车消费不仅带来了GDP的明显增长,也带来了城市管理的新内容.随着汽车保有量的不断增长,高速公路.城市道路等交通设施的规划.建设与管理已经成为城市管理的重要内容,其中停车管理越来越显露出其对城市交通管理的重要性.由于城市中心区本身的土地利用特征,产成了大量的以城市中心区为目的地的出行.但是,城市中心区用地紧张.交通结

新一代光传送网技术不了解 妄谈5G

导读 5G万物互联时代将产生海量数据,这些数据除了在最后几百米通过5G基站无线传输,剩下部分都得靠庞大的光网络来承载. 5G是通信业乃至全社会最热的词.我们天天谈5G,但你了解5G网络的血管系统——光传送网吗? 5G万物互联时代将产生海量数据,这些数据除了在最后几百米通过5G基站无线传输,剩下部分都得靠庞大的光网络来承载.如果把数据比喻为“血液”,光网络就是5G的“血管系统”.5G时代的网络数据流量成倍增长,这个“血管系统”将如何高效传送“血液”? 现在,让我们走进于2020年1月8日在深圳举行

基于IOS和Android设备MDM技术方案服务价格

导读:前段时间 www.mbaike.net 博客被恶意攻击,导致程序崩溃,目前已经替换了以前的Wordpress程序,现提供IOS和Android版本MDM的代码和相关文档咨询服务. 一.IOS版MDM服务内容及价格: 套餐一:IOS端MDM Server代码(提供MDM Server端的代码和部署文档,不含后期技术支持) 3000元套餐二:IOS端MDM开发技术顾问(提供MDM开发的顾问服务,协助理解MDM原理流程及搭建MDM Server工作的咨询) 1500元套餐三:IOS端MDM全部服

豆瓣网技术架构的 发展历程(一)

豆瓣简介: •2005年3月上线 •以分享和发现为核心的社区 •读书.电影.音乐.小组.同城.九点 •我的豆瓣.友邻  一些数据: •2.8M注册用户,约1/4活跃用户•千万级非注册用户•20M动态请求/天,峰值500~600/sec•23台普通PC服务器(1U*15/2U*8) •12台提供线上服务•38G memcached 单服务器: • 单台1U服务器 (frodo)• 单核AMD Athlon 64 1.8GHz• 1G内存,160G SATA*2• Gentoo Linux• MyS

Python web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.