【简记】大规模Web开发技术(第十一章)

来源:互联网 发布:免费制谱软件 编辑:程序博客网 时间:2024/06/07 13:24

第11章 支持大规模数据处理的服务器/基础设施入门——web服务的后台


第29课 企业软件vs. web服务


Web软件的三个重点:

首先要重视的就是低成本、高效率。

第二个重点就是重视可扩展性、响应性方面的设计。

最后是第三个重点。Web 服务的服务规格经常会发生变化。Hatena Diary 、Hatena Bookmark 等频繁添加功能,所以基础设施
必须能灵活应对。


第30课 云vs.自行构建基础设施

云计算的特点是价格便宜,可扩展性优秀。云的最大优点就是"可扩展性"。


自行构建基础设施的优点有:
1 .硬件配置可以灵活调整:

2. 能够灵活应对服务的要求:

3. 可以控制瓶颈。


Hatena Bookmark的系统构建图(仅仅是书签功能)


Hatena Bookmark 中包括3台反向代理, 11 台应用程序服务器, 24 台数据库服务器, 7 台缓存服务器, 2 台负载均衡器, 9 台其他引擎,共计56 台服务器。

各个服务器都采用了虚拟化,所以物理台数要稍微少一些。

整体架构为(反向)代理、应用程序、数据库3 层架构。应用程序服务器和数据库服务器的比例为1 : 2 左右。这个比例会根据应用程序逻辑的复杂度和数据库查询的复杂度变化,不过大致这个比例是恰当的。此外,部分服务器还根据请求属性分成了面向用户、面向爬虫等,在稳定的前提下发挥高性能。

缓存服务器包括2台Squid 和5 台memcached ,灵活运用各个服务器的缓存也十分重要。


阅读全文
0 0