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 ...
- 11:50
- 浏览 (165)
- 评论 (0)
- 分类: Architecture
我读了Rails的源代码,但是目的仅止步于加深对Rails API的熟悉和底层机制的了解,利于我以后更有效的使用Rails开发程序和必要时刻Hack Rails的源码。
但是今天UI Manager给我们上了一课,读读Jive、JIRA、LumaQQ的源码,将目的树立为学习架构设计、OOD和设计模式。
以前看《面向对象的软件设计》和阎宏博士的大砖头书《Java与模式》,但是看了就忘了,很少合理的应用到生产实践中去。所以看看设计优良的软件和系统的源代码,不就是很好的结合实例学习软件设计、架构和设计模式的方法吗?好,以后的yearly plan里加上一条:今年通读xxx的源代码!
- 18:07
- 浏览 (825)
- 评论 (1)
- 分类: Architecture
Tips for Authoring Fast-loading HTML Pages
iTechTag实在很慢,人家财帮子就快多了,所以希望和你一起学习下Mozilla这篇如何加快页面加载速度的文章
1,页面减肥
页面的肥瘦是影响加载速度最重要的因素
删除不必要的空格、注释
将inline的script和css移到外部文件
可以使用HTML Tidy来给HTML减肥,还可以使用一些压缩工具来给JavaScript减肥
2,减少文件数量
减少页面上引用的文件数量可以减少HTTP连接数
许多JavaScript、CSS文件可以合并最好合并,人家财帮子都把自己的JavaScript funct ...
- 12:31
- 浏览 (935)
- 评论 (1)
- 分类: Architecture
基于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 ...
- 14:31
- 浏览 (608)
- 评论 (0)
- 分类: Architecture
PHP的发明者Rasmus Lerdorf同时也发明了SNA(shared nothing architecture)的概念
什么意思呢?
对Web Servers做scaling时如果将session等状态保持在各个节点上,这样状态的复制就很成问题,所以SNA告诉你在节点上不要保存状态,session这种东西可以存在数据库或内存缓存中嘛,然后cookie或URL中带一个加密string用来查询session状态就可以完美解决session状态了。
但显然这给数据库增加了压力,但是数据库的scaling能力比Web Servers做session复制要好多了。况且我们在数据库前加一mem ...
- 12:10
- 浏览 (620)
- 评论 (0)
- 分类: Architecture
原文: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程 ...
- 16:33
- 浏览 (2823)
- 评论 (2)
- 分类: Architecture
原文: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实例,使 ...
- 11:56
- 浏览 (1721)
- 评论 (1)
- 分类: Architecture
原文: 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)
{
...
- 14:47
- 浏览 (2159)
- 评论 (1)
- 分类: Architecture
- 浏览: 612354 次
- 性别:

- 来自: BJ

- 详细资料
搜索本博客
我的相册
screenshot
共 1 张
共 1 张
最近加入圈子
最新评论
-
深入了解Java ClassLoader ...
当我对字节码编译不知所措的时候,发现了这个帖子 谢谢楼主,目前正在学习ASM C ...
-- by ytzhsh -
Rails里如何结合Exceptio ...
收藏了,小工具,好东西.
-- by yangzhihuan -
使用coderay和railscasts ...
不错,很爽,如果能显示成textmate那样的就好了。
-- by carlosbdw -
Axis2快速上手指南
看得很累,希望楼主写个HelloWorld.谢谢
-- by zznj1123 -
使用coderay和railscasts ...
javaeye自己用的是什么highlight什么的吗?
-- by qichunren






评论排行榜