在完成计算机科学的学业并作为从事Web应用程序的软件工程师进入“现实世界”之后,我对于正确扩展Web应用程序所需的大量信息感到不知所措.最近出现的一些主题/问题:
> RDBMS与非结构化数据存储.
>数据库,搜索索引等分片的优缺点
>哪些网络文件系统可扩展?哪个不?
> HTTP和DB连接的成本.
>静态内容传送,为什么不将图像存储在数据库中等.
>为什么使用一个线程池而不是一直创建新线程池更好?
>关于memcached和替代品的更多信息.
>常见的CPU绑定操作与IO绑定操作.
>瘦表…
>更好地理解饼干……
> WSDL,REST,SOAP ……
> ORM,Hibernate ……
>十亿其他热门话题……
我正在寻找一本书或一小部分书籍,它们涵盖了与构建可扩展的Web应用程序相关的各种主题,包括非特定于Web应用程序的主题.虽然我可以轻松查找有关上述每个主题的具体信息,但我正在寻找能够(a)提出我尚未遇到的更多相关主题/问题的书籍,以及(b)将主题联系在一起尽可能多.
似乎我的一些关键类别是:
>数据库性能和调优
>网络服务器/文件系统/通信的可扩展性
>一般性能和并发主题
>一般网络主题(例如cookies)
(虽然这不是一个全面的列表,你可以在我的情况下为某些人考虑更重要的类别.)
我还想更多地关注基本面而不是最新和最伟大技术的细节.在深入研究一些随机的新技术之前,我认为建立工程基础是非常重要的.
所以,回到这个问题:在我的情况下,你会推荐给任何人的书吗?是否有其他方法可以快速建立广泛的知识?
谢谢!
最佳答案 一些关于可伸缩性的好书:
可扩展性的艺术
可伸缩性规则
构建可扩展的网站
开发大型Web应用程序
http完整参考
高性能MYSQL
用于Oracle数据库调优的Oracle性能调优
Java应用程序的Java性能调优
来自曼宁的BigData
Udacity有一个关于以下方面的课程:提供可扩展的Web应用程序
问候