当前位置: 首页> 书评> 正文

Release It!《现实的检验》

  • 小小评论家小小评论家
  • 书评
  • 2023-03-26 03:56:44
  • 64

所有功能开发完成,并通过QA测试,就一切大功告成了--我们一直存在这样的认识误区。其实,从软件产品正式发布交付给用户使用的那一天起,挑战才刚刚开始,路还很长。你会遇到各种各样的问题,让你半夜都无法安睡。因为,真实的运营环境跟开发测试环境是不同的,你会遇到各种各样的新问题和挑战。测试环境里,可能只有一台服务器,但是运营环境中可能有很多台服务器。测试环境中,可能没有防火墙,实际情况是防火墙一定存在。还有,测试时你只考虑了1000个正常的并发访问,在运营环境中你却会遭遇上万个并发访问(恶意的,无意的)……归根到底,测试环境是一个受控的环境,而运营环境是开放的,一切都不可预知,你必须为最坏的情况做好准备。

作者首先从一个服务器总是在凌晨空闲的时候宕机的案例开始讲起,如何一步步进行追踪到数据库连接错误,并细述了TCP/IP和防火墙的工作原理--整个故事有如探案一般惊险。用案例以及翔实的技术细节来说明,这是本书的最大特点,完全是从实战中来的真枪实弹。所以,除了各章标题的结论,你还是可以了解到一些从别的书不可能了解的“真实的细节”。全书主要分为几大部分:Stability,讲述系统稳定可靠相关的内容。什么是稳定的,影响系统稳定的常见模式(好的和坏的);Capacity,讲述性能和容量的内容。同样的,如何提高系统的性能和容量;General Design Issues,数据中心的一般设计思路;Operations,前面讲述的都是开发和设计的内容,这里则讲的是系统正式运营过程中需要注意的问题。在每一个章节的后面,都有简要的总结,方便记忆。

对了,本书的目标读者应该是网站的设计,开发和维护者,单机桌面软件并不很适用。另外,基本上是以Java系统来进行说明的,甚至深入到了Java GC的微调和JMX的使用,对其它比如LAMP架构就没有涉及。所以,对于如何使得软件达到Product Ready,作者虽然提出了自己的很多经验教训和认识,但还不是很全面,只能说是抛砖引玉。

阅读全文