在完成了计算机科学的学业,并以从事Web应用程序的软件工程师的身份进入“现实世界”之后,我不知所措,无法掌握有关正确扩展Web应用程序的大量信息。最近为我弹出的一些主题/问题:
RDBMS与非结构化数据存储。
分片数据库,搜索索引等的优缺点
哪种网络文件系统可扩展?哪个不?
HTTP和DB连接的成本。
静态内容传递,为什么不将图像存储在数据库中,等等。
为什么总是使用一个线程池比始终创建一个线程池更好?
有关memcached和替代方法的更多信息。
常见的CPU绑定操作与IO绑定操作。
瘦桌子...
更好地了解Cookie ...
WSDL,REST,SOAP ...
ORM,休眠...
十亿个其他流行语...
我正在寻找一本书或一小本书,它们将涵盖与构建可伸缩Web应用程序相关的各种各样的主题,包括不是特定于Web应用程序的主题。尽管我可以轻松查找有关上述每个主题的特定信息,但我正在寻找能够(a)提出更多我尚未遇到的相关主题/问题,以及(b)将主题捆绑在一起的书尽可能地。
对我来说,一些关键类别似乎是:
数据库性能和调优
网络服务器/文件系统/通信的可伸缩性
一般性能和并发主题
常规Web主题(例如Cookie)
(尽管这不是一个完整的列表,但您可能可以为我所遇到的人想到更重要的类别。)
我还希望更多地关注基础知识,而不是最新最先进的技术。我认为在深入研究随机的新技术之前,一定要建立自己的工程基础,这一点很重要。
因此,回到问题所在:在我所遇到的情况下,您是否会推荐任何书籍?还有其他快速建立知识广度的方法吗?
谢谢!