« 上一篇下一篇 »

硬件决策

为你架构中的每一个部件选择正确的硬件可以对成本产生很大影响。就拿服务器来说,你想把钱投资在哪里?至少你应该一个基本的概念(可以测量和使用模式中收集得到)。

在你细读厂商的当前价格之前,你要明白你想努力获得的是什么。该服务器需要用来处理消耗很多CPU工作吗?它需要执行消耗很多内存的工作吗?对网络会有很高的要求?

现在,对于横向扩展和纵向扩展的架构,这两者之间的差别在计算机领域已是众所周知。它能起到协调作用,使得在计算机运行状态下监控容量变化。

能够横向扩展意味着该架构,它能简单地通过在现有的基础设施上添加相同功能的网络节点从而达到增加容量的目的。例如,多加一个Web服务器就能缓解站点访问的压力。

而能够纵向扩展则是指一种通过在服务器内部添加硬件资源从而达到扩充容量的性能。这些硬件资源包括CPU、内存、硬盘和网络。

随着分层和无共享架构的出现,作为网络应用,横向扩展以其相对纵向扩展的优势更受到人们的亲睐。横向扩展意味着设计你的应用来处理不同层次的数据库抽象和分布。你可以在Henderson和Schlossnagle的书中找到很多有关横向应用开发技术的好方法。

仅仅依靠纵向扩展的危险在于,随着你对电脑的各个部分进行升级时,成本显著上升。同时你也带来了单点故障的风险。

而水平扩展则涉及更加复杂的问题。因为随着你扩展服务器群时,也增加了潜在的失败点。另外,对于各节点之间的同步,也无疑会带来挑战。

对角扩展(我自己杜撰的名词)是指对基础设施中已有的横向扩展节点进行纵向扩展的过程。随着时间的推移,CPU和随机存取存储器越来越快,价格也越便宜,越受欢迎。同时磁盘存储器空间变大又廉价。所以把纵向扩展(针对水平扩展的节点)作为你的计划的一部分也是很划算的。

« 上一篇下一篇 »