最近完成了网站的后台实时搜索服务的实现,最开始的时候认为这一块难度系数比较大,需要的时间比较长,结果看来,是所有模块中实现最快的,主要原因也是之前开发的模块已经打下了比较好的基础,对Python开发后台服务也比较熟悉了,当逻辑结构理清,工具选好,实现就是水到渠成的事情 ...
在B/S模型的Web应用中,客户端常常需要保持和服务器的持续更新。这种对及时性要求比较高的应用比如:股票价格的查询,实时的商品价格,自动更新的twitter timeline以及基于浏览器的聊天系统(如GTalk)等等 ...
大型软件系统开发需要模块化,在分布式系统中,模块化通常是将功能分成不同的远程服务(RPC)来实现。比如可以用Java RMI、Web Service、Facebook开源的Thrift等一些技术 ...
其实很多文章都写过,比如这里有一篇《Django on uWSGI and Nginx》。下面放我的supervisord.conf的配置内容:
[program ...
以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的。本文主要参考了Phil Whelan的这篇文章 ...
性能也许是大多数软件开发人员所不愿意面对的特性之一。编写代码是容易的,但优化代码,提高代码的执行效率并不容易。比起写代码时的酣畅淋漓,提高性能除了一开始的架构设计无误外,到最后,往往变成在一些个别代码上的纠结,很多时候你不得不用一些看起来丑陋的代码去替代那些散发着你的灵感的想法。即使如此 ...
对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一。这种应用常见于消息推送系统,也称为comet应用,比如聊天室或即时消息推送系统等。comet应用具体可见我之前的介绍 ...
在过去的几年间,我们一直致力于修改Digg的架构,现在我们称之为“Digg V4”.本文我们将全面介绍Digg的系统和技术。
首先,我们来看下Digg给大众用户提供的服务吧:
IETF的RFC文档是整个互联网的基石,在RFC1958中,对于其中的一些原则做了总结和讨论。我觉得非常有意思,因此做一下摘抄和讨论。
我现在想出3个:
1. zodb
2. 组件架构
3. 对象发布
前面2个都是可以在zope外面使用的 ...