
45
设定容量目标
都被分析了。这个问题可以通过增加容量和修改网页大小来改变,前者有时比后
者涉及更多的成本。
确定一个网页的感知缓慢的根本原因是什么,相对而言,从整体架构中排查要比
面向服务的架构(
SOA
)或微服务体系架构(
MSA
)更容易(第
1
章讨论这些内
容)。推特和
Netflix
等服务包括数百微服务。在微服务架构下,通常每个微服务
提供特定的功能,例如,在推特会对“跟随谁”推荐不同的微服务,在“你离开时”
的时候展示相关的推特产品特性。
复杂的相互作用的不同结果之间的级联微服务的性能问题,这对平均解决时间有
负面的影响(
MTTR
)。此外,第三方供应商如管理
DNS
、内容分发、内容加速、
广告服务、分析、行为目标、内容优化关键服务的使用和组件进行性能问题的诊
断更具挑战性。
当
John
在
Flickr
时,每秒需要提供上万的照片服务。每个照片服务器可以在达到
最大值之前提供已知和特定的图像速率。他们没有根据磁盘
I/O
、
CPU
、内存来定
义上限,而是根据特定的响应时间内我们能提供多少数量的照片服务来定义。
架构决策
你的体系架构是关于所有后端组件(包括硬件和软件)是怎样结合的基本设计。
架构的设计对于规划和管理容量起到至关重要的作用。
注意
架构设计是一项复杂的工作
,
但有一些优秀的书可以帮助你
:
Cal
Henderson
的
《
Building Scalable Web Sites
》
(O
’
Reilly)
和
Theo
Schlossnagle
的
《
Scalable Internet Architectures
》
(Pearson) ...