【发布时间】:2010-07-29 15:49:02
【问题描述】:
在完成计算机科学专业并进入“现实世界”作为一名从事 Web 应用程序工作的软件工程师之后,我对正确扩展 Web 应用程序的大量信息感到不知所措。最近为我弹出的一些主题/问题:
- RDBMS 与非结构化数据存储。
- 分片对数据库、搜索索引等的优缺点。
- 哪些网络文件系统可以扩展?哪些没有?
- HTTP 和 DB 连接的成本。
- 静态内容交付,为什么不将图像存储在数据库中,等等。
- 为什么使用一个线程池而不是一直创建新线程池更好?
- 有关 memcached 和替代方案的更多信息。
- 常见的 CPU 密集型操作与 IO 密集型操作。
- 瘦桌子...
- 更好地理解 cookie...
- WSDL、REST、SOAP...
- ORM、休眠...
- 十亿其他流行语...
我正在寻找一本书或一小部分书籍,它们将涵盖与构建可扩展 Web 应用程序相关的一系列范围主题,包括非特定于 Web 的主题应用程序。虽然我可以轻松查找有关上述每个主题的具体信息,但我正在寻找能够(a)提出更多我尚未遇到的相关主题/问题,以及(b)将主题联系在一起的书籍尽可能的。
似乎对我来说一些关键类别是:
- 数据库性能和调优
- 联网服务器/文件系统/通信的可扩展性
- 一般性能和并发主题
- 一般网络主题(例如 cookie)
(虽然这不是一个完整的列表,但您也许可以为我这种情况的人想出更重要的类别。)
我还想更多地关注基础知识,而不是最新和最伟大技术的细节。我认为在深入研究一些随机的新技术之前,我必须建立自己的工程基础。
那么,回到这个问题:有没有什么书可以推荐给我这种情况的人?还有什么其他方法可以快速建立知识的广度?
谢谢!
【问题讨论】:
标签: database http scalability performance