DNS
-
请求从客户端发出后,会先通过网络中的DNS才能找到对应的目的地,因为我们对IP地址等数字不敏感,无法很快的记住,因此我们需要一个类似www.baidu.com这种域名的方式找到我要访问的地址,因此就需要一个数据库用来存储www.baidu.com的IP地址信息。
-
DNS的目的是将域名解析成IP地址,类似一个存储了域名和 IP地址对应关系的分布式数据库
-
DNS记录类型:
- A(Address):域名 与 IP地址对应关系。
- CName(Canonical Name):域名与域名的对应关系。(一个IP可以置多个域名)
- NS(name server):域名和 能解析此域名的服务器的对应关系。
-
DNS查询过程解析过程:xxx.a.baidu.com
- 浏览器 有没有缓存
- 操作系统有没有缓存
- 操作系统Host文件中有没有配置
- LDNS(本地DNS缓存)
- a.baidu.com 的ns服务器
- baidu.com 的ns服务器
- com 的ns服务器
优化DNS
- 提前做好DNS缓存
- 一个域名对应多个IP,通过DNS做负载均衡
- 优点:(配件简单,没有成本)
- 域名记录的新增和修改是有一定的时效性的。无法灵活使用
CDN
-
大型系统部署多个节点
-
请求多个节点优化:
- 请求分配到多节点上,减少每个节点的并发数
- 让用户请求落到离用户最近(网络拓扑最近)的节点上。
-
CDN存放静态资源:
- 用户查询首先查询CDN资源
- 如果CDN有,直接返回用户
- 如果CDN没有,去原站查,CDN更具配置规则来决定是否要缓存此数据。
-
节点数:
- 多了优点在于用户能最少的访问节点来查到数据(极端情况每个省都有一个节点)
- 但是数据同步太难,成本大。
-
CDN优点:
- 减少每个系统并发数
- 减少平均响应时间
- 减少网络拥堵
- 一般只缓存静态内容,动态内容只能源站处理。