DNS资源记录类型和请求流程
DNS分布均衡(Load balance)的实现 在上级数据库中写两条记录(同一个名字对应对个IP时),DNS会自动将请求基于轮循方式,分给每个DNS服务器 例如: 第一次将请求给第一个DNS,第二次将请求给第二个DNS,... 依次循环 注:客户端连接第一个主机连接不上时,将请求都给第二个主机,linux还可以给第三个DNS服务器 第一个找不到时,不会再让第二个DNS、第三个DNS去找(因为根域都找不到) DNS分布式特点 基于授权将功能分散出去,让多个主机分别处理 数据放在多个位置,导致数据在多处存储不一致,数据访问的不确定结果 一致性:任何时候,每个主机返回数据是一致的 分区容错性:DNS,一个主机不在线时,另一个主机允许继续提供服务(分布式系统都应该满足) 结果可用性:DNS,任何时候,无论有多少个主机宕机,都能得到结果(不确定结果) E.g DNS域名分布式 满足分区容错性,结果可用性 牺牲一致,但最终结果一致 缓存定义、作用、多级缓存 缓存:进程内存中维护的一段内存空间 hash:名称<Domain>-----值<IP> 查询:O(1) 失效前,一直都在使用缓存 缓存的作用 缓存时长:TTL 长:长时间内,都能快速解析。别人修改无从得知 短:数据实时一致,服务器压力、负荷大,带宽消耗多 多级缓存 客户端