2008-05-20

On Designing and Deploying Internet-Scale Services

关键字: 设计和部署internet服务笔记
On Designing and Deploying Internet-Scale Services Three simple tenets 1. Expect failures 2. Keep things simple 3. Automate everything 1. Overall Application Design 1. Design for failure 2. Redundancy and fault recovery 3. Commodity hardware slice 4. Single-version software 5. Multi-tenancy 6. Qui ...
我读了Rails的源代码,但是目的仅止步于加深对Rails API的熟悉和底层机制的了解,利于我以后更有效的使用Rails开发程序和必要时刻Hack Rails的源码。 但是今天UI Manager给我们上了一课,读读Jive、JIRA、LumaQQ的源码,将目的树立为学习架构设计、OOD和设计模式。 以前看《面向对象的软件设计》和阎宏博士的大砖头书《Java与模式》,但是看了就忘了,很少合理的应用到生产实践中去。所以看看设计优良的软件和系统的源代码,不就是很好的结合实例学习软件设计、架构和设计模式的方法吗?好,以后的yearly plan里加上一条:今年通读xxx的源代码!
Tips for Authoring Fast-loading HTML Pages iTechTag实在很慢,人家财帮子就快多了,所以希望和你一起学习下Mozilla这篇如何加快页面加载速度的文章 1,页面减肥 页面的肥瘦是影响加载速度最重要的因素 删除不必要的空格、注释 将inline的script和css移到外部文件 可以使用HTML Tidy来给HTML减肥,还可以使用一些压缩工具来给JavaScript减肥 2,减少文件数量 减少页面上引用的文件数量可以减少HTTP连接数 许多JavaScript、CSS文件可以合并最好合并,人家财帮子都把自己的JavaScript funct ...
2007-10-18

Load Balancing

关键字: LB
基于Shared Nothing Architecture做Load Balancing,遵循REST的无状态模型,不用考虑Sticky Sessions 一、DNS Load Balancing DNS Load Balancing是最简单的方式,它将相同域名解析到不同IP 由于TTL和缓存时间,DNS不能实时更新clusters的更改 DNS方式很难自定义配置balance策略 DNS方式对traffic的balance不准确,对特定地域而言DNS会将特定域名一直路由到一个IP上 DNS方式很难搞redundancy和failover 二、用硬件做Load Balancing Alte ...
PHP的发明者Rasmus Lerdorf同时也发明了SNA(shared nothing architecture)的概念 什么意思呢? 对Web Servers做scaling时如果将session等状态保持在各个节点上,这样状态的复制就很成问题,所以SNA告诉你在节点上不要保存状态,session这种东西可以存在数据库或内存缓存中嘛,然后cookie或URL中带一个加密string用来查询session状态就可以完美解决session状态了。 但显然这给数据库增加了压力,但是数据库的scaling能力比Web Servers做session复制要好多了。况且我们在数据库前加一mem ...
2007-10-10

Google架构学习

关键字: Google
原文:Google Architecture Google是伸缩性的王者。Google一直的目标就是构建高性能高伸缩性的基础组织来支持它们的产品。 平台 Linux 大量语言:Python,Java,C++ 状态 在2006年大约有450,000台廉价服务器 在2005年Google索引了80亿Web页面,现在没有人知道数目 目前在Google有超过200个GFS集群。一个集群可以有1000或者甚至5000台机器。成千上万的机器从运行着5000000000000000字节存储的GFS集群获取数据,集群总的读写吞吐量可以达到每秒40兆字节 目前在Google有6000个MapReduce程 ...
2007-10-09

Twitter架构学习

关键字: Twitter
原文:Scaling Twitter: Making Twitter 1000 Percent Faster Twitter是目前为止最大的Ruby on Rails应用,几个月间页面点击由0增长到几百万,现在的Twitter比今年月快了10000% 平台 Ruby on Rails Erlang MySQL Mongrel Munin Nagios Google Analytics AWStats Memcached 状态 成千上万的用户,真实数量保密 每秒钟600请求 每秒钟平均200-300个连接,峰值为800个连接 MySQL每秒钟处理2,400个请求 180个Rails实例,使 ...
2007-10-08

YouTube架构学习

关键字: YouTube
原文: YouTube Architecture YouTube发展迅速,每天超过1亿的视频点击量,但只有很少人在维护站点和确保伸缩性。 平台 Apache Python Linux(SuSe) MySQL psyco,一个动态的Python到C的编译器 lighttpd代替Apache做视频查看 状态 支持每天超过1亿的视频点击量 成立于2005年2月 于2006年3月达到每天3千万的视频点击量 于2006年7月达到每天1亿的视频点击量 2个系统管理员,2个伸缩性软件架构师 2个软件开发工程师,2个网络工程师,1个DBA 处理飞速增长的流量 while (true) { ...
hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论