好书推荐

《大规模Web服务开发技术


[日]   伊藤直也, 田中慎司编著       李剑 译


ISBN 978-7-121-13884-3  
2011年7月出版
定价:59.00元
16开

356页


内 容 简 介

Hatena是日本最大的Web 服务提供商之一,它提供的服务包括关键字(类似于维基百科)、博客、相册等。本书的内容主要来自Hatena为学生们举行的暑期实习的课程,内容涵盖广泛,介绍了性能优化、分布式、算法、系统架构等各个方面,甚至还介绍了硬件的经济成本,是运维工程师们必不可少的参考书。书中还包括几个算法实习课题,介绍了压缩算法、全文搜索等算法的实现方法,对于打算靠Web创业的人不失为一本很不错的参考书。


译者序

去年8 月份,fcicq 向我推荐了《大规模Web服务开发技术》这本书。当时这本书刚刚出版,在日本着实火了一段时间。后来到网上一查,发现我以前在日本的同事也写了一篇博客推荐这本书,看样子这本书已成为Web 技术人员人手必备的参考读物了。
后来博文视点的策划编辑张春雨找到我,希望我翻译这本书。我在日本工作期间,就对日本的IT 技术十分佩服,尤其是Web相关技术,很多知名的技术大牛,如伊藤直也、小饲弹等
都写过许多深入研究技术的文章,见解也相当独到。而在日本的书店里,Web 技术的书籍也是琳琅满目,其中不乏珍品。因此我很想找个机会把日本的技术书籍带到中国来。于是,与张编辑一拍即合,当即接下了这本书的翻译任务。
正如这本书的前言里所说,这本书的内容主要来自Hatena株式会为学生们举行的暑期实习课程,因此其形式也是以讲义为主,风格和一般的技术读物略有不同。其内容涵盖范围也很广,从性能优化、分布式,到算法、系统架构,甚至还介绍了硬件的经济成本。最吸引人的就是书中的几个实习课题,介绍了压缩算法、全文搜索等算法的实现方法。
在翻译该书时,我想到了以前做网站开发时的几件事。
第一件就是性能优化的重要性。当时我们开发了一个类似于RSS 阅读器的网站,其中有个推荐功能,可以根据访问量、收藏人数等对文章进行社会化推荐。由于计算量很大,因此只能写成批处理放到夜间执行,但执行效率实在不堪忍受——40 万的数据量,计算一次就要3个小时。后来我们对SQL 语句进行了优化,使得计算时间从3小时一下子减少到了20 分钟。
第二件就是维护工作的辛苦程度。网站对 Web 服务器采用了分布式,将请求分散到32台服务器上。每次版本更新,都要制定严密的更新计划,先改变负载均衡器设置,然后停掉一半服务器,更新代码,再然后逐台测试;之后再切换负载均衡器以更新另一半服务器并测试。更新都是在深夜进行的,每次更新都会持续到凌晨3 点多才能下班。
第三件就是不可知事件的应对策略。这本书里提到了Yahoo!攻击,这正是我们当年亲身经历过的。当时晚上9 点多,我们突然收到了大量报警邮件,报告相册服务的负载过高。一看服务器已经几乎无法访问了。调查之后发现,一名博主引用了相册中的图片,而这篇文章又被Yahoo!上的一篇新闻引用。于是来自Yahoo!的巨大流量涌入我们的相册服务器,导致服务中止。后来,我们改变了相册服务的架构,并增加了缓存机制,以避免这类事件再次发生。
对于运维高手来说,解决这些问题应该是轻车熟路了,但当时我们的团队没有类似的经验,只能自己慢慢摸索解决方法。而Hatena 株式会的技术专家们将他们的运维经验写成了书,使我们有幸分享这些宝贵的经验和知识。如果当时我们有这样一本书,这几个问题也就迎刃而解了。愿这本书能对广大网站运维人员(特别是初涉该领域的新手们)有所帮助。
李 剑

2011 年2月27 日


前 言



自己开发的Web 服务,以后规模增大时系统能否承受得起?从事Web 开发的诸位中很多人都有这个顾虑吧,或者是系统每天都会陷入困境,如何才能打破这种状况?面对成长起来的Web服务,整日愁眉苦脸的人一定存在吧。
我也有过完全相同的经历。
Hatena网站,月访问人次1500 万,而我们参与了规模如此庞大的系统的开发和运营。1000台服务器分担负载,100 多万用户不停地发表博客或收藏社会化书签,数据量每天都在激增,服务器资源频频告急。技术人员为了上GB、上TB的数据量绞尽脑汁。即便如此,流量的波涛也从未平息过。
曾几何时,Hatena的团队尚未成熟,面对规模日益增大的系统束手无策。庞大的数据和巨大的流量涌来,服务器宕机、服务停止。赶紧深夜跑过去重启服务器,觉得总算能稳定了,清晨回家之后,发现服务器又宕机了,这种事情也曾面对过。
怎样才能制服大规模服务这头野兽?本书凝聚了Hatena 的技术人员在反复试验中得到的技术和诀窍——即大规模服务技术的地图和指南。
本书是开发、运营大规模服务的技术者的入门书。Web服务在不断成长,当它的数据规模变大,处理起来也就不再易如反掌了,此时,怎样做才是正确的?为了避免系统宕机,写代码时应该注意什么?设计高可扩展性(scalability)的系统时应该记住哪些要点?这些都是本书的内容。
Hatena每年夏天都举办面向学生的、以就业体验为目的的实习活动(HatenaSummer Intern)。这些实习活动会让学生参与到Hatena的系统开发中。我们把开发经验很少的学生们与正式员工同样看待,让他们获得大规模系统开发的成功经验,这就是Hatena之道。那么,我们希望学生们在开发之前知道什么呢?正是我们历经坎坷学到的大规模服务的开发和运维的知识。
通过实习计划,Hatena的大规模服务技术的培训方法也有了体系。本书就是以实习课程为基础,试图来说明大规模服务技术。
本书的内容从操作系统和计算机的原理开始,介绍数据库的分布式方法、实用算法在系统中的应用、能支撑海量数据的搜索引擎的原理,以及统观系统全局的基础设施设计的知识等多个方面。
这是拥有1500 万用户的Hatena 才能传达的真实的、实践性的技术和现场感。缺乏经验的学生们在短短几天的培训中学到大规模服务开发所需的知识,在本书中得以系统化。本书融汇了这些知识,努力做到妙趣横生、百读不厌,并让读者学到真正的知识。
希望本书能成为从事Web 服务开发的所有工程师们的得力助手和工具。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,我可以推荐一些关于 UE5 的好书: 1.《Unreal Engine 5 开发指南》,这本书是由 Epic Games 官方出版的官方教程,是学习 UE5 很好的起点。 2.《Unreal Engine 5 创建游戏环境实战》,这本书讲解了如何使用 UE5 创建游戏环境的实用技巧。 3.《Unreal Engine 5 动态动画实战》,这本书介绍了如何使用 UE5 制作动态动画。 4.《Unreal Engine 5 游戏性编程实战》,这本书主要讲解 UE5 如何实现游戏性。 希望这些书能帮到你。 ### 回答2: UE5是指Unreal Engine 5,是一款由Epic Games开发的游戏引擎,用于制作高质量的实时图形和游戏。虽然UE5并没有专门的书籍来详细介绍其使用方法,但以下是一些关于游戏开发和UE引擎的好书推荐: 1. 《Learning Unreal Engine Game Development》 - 作者:Joanna Lee,教授从基础开始使用UE引擎开发游戏的方法,包括创建关卡、设计角色和敌人等。 2. 《Unreal Engine VR Cookbook: Developing Virtual Reality with UE4》 - 作者:Mitch McCaffrey,介绍如何利用UE引擎开发虚拟现实游戏的步骤和技巧。 3. 《Unreal Engine 4 Game Development in 24 Hours》 - 作者:Aram Cookson,通过一系列实例和教程,教您如何使用UE4进行游戏开发,涵盖了从基本操作到高级特性的知识。 4. 《Mastering Unreal Engine 4.X》 - 作者:Simon Kallweit, Matt Edmonds,详细介绍了UE4引擎的各种高级功能和技术,帮助开发者更好地利用该引擎开发游戏。 此外,UE引擎官方网站和论坛也提供了丰富的学习资源,包括官方文档、教程视频和示例项目,可以进一步学习和掌握UE5的使用技巧。 ### 回答3: UE5是指虚幻引擎5,它是一款用于游戏开发的强大工具。对于UE5的好书推荐,我建议以下几本: 1. 《虚幻引擎游戏开发实战指南》:这本书是一本全面介绍虚幻引擎5的实用指南,涵盖了引擎的基本概念、工具的使用以及游戏开发过程中常见的技术与技巧,非常适合初学者入门。 2. 《虚幻引擎5编程与实时渲染技术》:如果你对虚幻引擎5的编程和高级渲染技术感兴趣,这本书会是一个很好的选择。它详细介绍了引擎的编程接口和常用的渲染技术,帮助读者深入了解和应用虚幻引擎5。 3. 《虚幻引擎5游戏开发案例导读》:这本书通过实例讲解的方式,介绍了一些流行游戏的开发案例和实际应用技巧。阅读这本书可以帮助你更好地理解虚幻引擎5在实际项目中的应用,并借鉴他们的经验和技术。 4. 《虚幻引擎5从入门到精通》:这是一本相对全面的虚幻引擎5教材,包含了引擎的基础知识和进阶技巧。无论你是初学者还是有一定经验的开发者,都可以从这本书中找到所需的信息和教程。 总的来说,选择合适的书籍取决于你对虚幻引擎5的兴趣和需求。以上推荐的书籍涵盖了入门指南、编程与渲染技术、案例导读以及综合教材,希望能够帮助你更好地学习和应用虚幻引擎5。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值