2.性能与可扩展性
如果服务<b>性能</b>的增长与资源的增加是成比例的,服务就是可扩展的。通常,提高性能意味着服务于更多的工作单元,另一方面,当数据集增长时,同样也可以处理更大的工作单位。
如果系统有性能问题,对于单个用户来说是缓慢的
如果系统有可扩展性问题,单个用户较快但在高负载下会变慢
3.延迟与吞吐量
<b><font color="#b71c1c">延迟</font></b>是执行操作或运算结果所花费的时间
<b><font color="#b71c1c">吞吐量</font></b>是单位时间内(执行)此类操作或运算的数量
应该以<b>可接受级延迟下最大吞吐量</b>为目标
5.域名系统
分类
NS 记录(域名服务)
指定解析域名或子域名的 DNS 服务器
CNAME (规范)
一个域名映射到另一个域名或 CNAME 记录或映射到一个 A 记录
某些 DNS 服务通过集中方式来规划路由流量
加权轮询调度
防止流量进入维护中的服务器
在不同大小集群间负载均衡
A/B 测试
基于延迟路由
基于地理位置路由
缺陷
虽说缓存可以减轻 DNS 延迟,但连接 DNS 服务器还是带来了轻微的延迟。
虽然它们通常由[政府,网络服务提供商和大公司管理,但 DNS 服务管理仍可能是复杂的。
DNS 服务最近遭受 DDoS 攻击,阻止不知道 Twitter IP 地址的用户访问 Twitter。
6.内容分发网络(CDN)
定义
CDN 是一个全球性的代理服务器分布式网络,它从靠近用户的位置提供内容。
通常,HTML/CSS/JS 、图片和视频等静态内容由 CDN 提供。
CDN 的 DNS 解析会告诉客户端连接哪台服务器
性能保障
从靠近用户的数据中心提供资源
通过 CDN ,你的服务器不必真的处理请求
CDN 推送(push)
当你的服务器上内容发生变动时,推送 CDN 接收新的内容
直接推送给 CDN 并重写 URL 地址以指向你的内容的 CDN 地址
内容只有在更改或新增时才推送,流量最小化,但储存最大化
CDN 拉取(pull)
当地一个用户请求该资源时,从服务器上拉取资源
存活时间(TTL)决定缓存多长时间。CDN 拉取方式最小化 CDN 上的储存空间,但如果过期文件并在实际更改之前被拉取,则会导致冗余的流量。
高流量站点使用 CDN 拉取效果不错,因为只有最近请求的内容保存在 CDN 中,流量才能更平衡地分散。
缺陷
CDN 成本可能因流量而异,可能在权衡之后你讲不会使用 CDN
如果在 TTL 过期之前更新内容,CDN 缓存内容可能会过时
CDN 需要更改静态内容的 URL 地址以指向 CDN