写在前面:
记得以前赖勇浩(http://blog.csdn.net/lanphaday)老师有一系列文章叫做"本周我加星",这里我借鉴他的标题,每月用一篇日志,整理这个月看的技术类的文章。每篇文章都是我精读过的,数量大概在25~30篇上下浮动,保证每篇文章的质量,并附上一两句的介绍。如果是网上有的,我会给出链接,否则我会给出详细的出处。主要关注以下几个主题:Linux、搜索引擎、架构、存储。
0.Y X-Rime:基于Hadoop的开源大规模社交网络分析工具
程序员杂志2011年12期的一篇文章,介绍的是一个IBM中国研究院提供的进行社会化网络分析的开源工具包,介绍了架构、数据结构等,对基于Hadoop进行二次开发提供第三方库有所借鉴意义。
项目主页:http://xrime.sourceforge.net/
因为是09年的项目,而且项目不活跃,所以项目本身的实用价值倒是不高。
1.如何"打败"cap定理
http://www.programmer.com.cn/9260/
程序员杂志2011年12期的一篇文章,Twitter首席工程师提出的避开CAP定理的设计思路,展示了一个不同于以往的数据系统设计方案。
2.一淘网技术简介
http://www.searchtb.com/2010/11/etao-tech-overview.html
淘宝搜索技术博客介绍一淘网技术架构,对设计垂直搜索架构设计有参考作用,同时,可以一窥一淘和淘宝的关系,以及一淘如何充分利用现有淘宝海量的用户和商品资源。
3.快速构建实时抓取集群
淘宝搜索技术博客,介绍使用linux+mysql+redis+django+scrapy+webkit构建的定向抓取系统涉及到的问题以及关键概念。
4.揭秘淘宝286亿海量图片存储与处理架构
http://tech.163.com/digi/10/0901/06/6FFOOTN7001618JK.html
淘宝章文嵩博士介绍淘宝开发TFS(taobao file system)的原因,及TFS架构及变迁。文章写作时TFS尚未开源,现在大家可以顺带着把TFS的开源页面(http://code.taobao.org/p/tfs/wiki/intro/)上的介绍阅读了。
5.nosql生态系统
http://www.programmer.com.cn/9276/
对nosql的系统介绍,选择一个nosql系统时,需要考虑如下方面:
0).数据模型(行、对象还是文档型)及操作模型(是否满足业务需求)
1).可靠性(是否立刻持久化、是否同步到多台机器)
2).扩展性(数据有多少,单机是否放的下,读写需求是否能满足)
3).分区策略
4).一致性
5).事物机制
6).单机性能(读多还是写多,写操作是否会成为磁盘瓶颈)
7).负载可评估
6.Instagram 架构分析笔记
http://www.dbanotes.net/arch/instagram.html
Fenng老师给出的Instagram架构分析,极简开发团队的代表。
三个核心原则:
0).Keep it very simple (极简主义)
1).Don't re-invent the wheel (不重复发明轮子)
2).Go with proven and solid technologies when you can(能用就用靠谱的技术)
结论:
0).轻装上阵说起来容易,做起来非常难。这也是 Instagram 团队目前最令人着迷的地方;
1).Python 社区已经足够成熟,各个环节上都已经有不错的解决方案了。
2).如果要问我最大的一个感慨,我要说:Amazon 真是一家伟大的公司,甚至比 Google 还伟大。
7.The Google File System
http://research.google.com/archive/gfs.html
Google三驾马车之一,无需过多介绍了。
8.淘宝Oceanbase云存储系统实践
http://www.programmer.com.cn/9252/
淘宝日照老师对Oceanbase的介绍。
9.谈一谈网络编程学习经验(06-08更新)
http://blog.csdn.net/solstice/article/details/6527585
陈硕老师介绍网络编程的经验,文章很长,值得细读。不仅有经验之谈,还给列了个通往高手之路的一个必备书单,很靠谱的书单。
10.IOCP , kqueue , epoll ... 有多重要?
http://blog.codingnow.com/2006/04/iocp_kqueue_epoll.html
云风老师早期写的一篇文章,考虑将网游后端服务器拆成两部分,分别为连接服务器和逻辑服务器。连接服务器只处理并发网络连接,使用epoll、kqueue等,其后的逻辑服务器只使用一个连接和连接服务器通信,从而将网络连接的部分解耦出去,简化设计,文中还提到个极大的优势:方便调试、重现游戏逻辑。
11.Cassandra存储机制
http://www.ningoo.net/html/tag/sstable
主要介绍了SSTable(Sorted String Table)。具体的存储流程相当于Write-back cache。对Cassandra来说,只有顺序写,没有随机写。
12.漫谈基于HTTP协议的SOA架构
程序员2011年12期的一篇文章,阿里云的一位工程师写的。
这种架构的优劣:
优点: