域名系统
关于域名空间:
- 域名空间被组织成树结构
- 域名空间通过划分zome的方式进行分层授权管理
- 全球公共域名空间仅对应一棵树
- 根域名空间:查询起点
- 域名组成格式:[a-zA-Z0-9_-],以点划分label。比如www.baidu.com
顶级域gTLD:general Top-level Domains: .gov政府 .edu教育 .com商业 .mil军事 .org非营利组织
自建DNS服务器
DNS解析记录类型:
- A/AAAA:IP指向记录,用于指向IP,前者是IPv4记录,后者是IPv6记录
- CNAME:别名记录,配置值为别名或主机名,客户端根据别名继续解析以提供IP地址
- TXT:文本记录,购买证书时需要
- MX:邮件交换记录,用于指向邮件交换服务器
- NS:解析服务器记录,用于指定哪台服务器对于该域名的解析
- SOA记录:起始授权机构记录,每个zone有且仅有唯一的一条SOA记录,SOA是描述zone属性以及主要权威服务器的记录
TTL:解析记录缓存时间
权威DNS系统架构
常见开源:bind, nsd, knot, coredns
bind示例:
接入全站加速
静态加速CDN
一次访问后缓存静态资源(如图片、CSS、JavaScript等文件),下次访问时可以利用储存在CDN节点的缓存返回相同的结果,从而加快响应速度。
动态加速DCDN
针对POST等非静态等不能在用户边缘缓存的业务,基于智能选路技术,从众多回源线路中择优选择一条线路进行传输
四层负载均衡
定义:基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上,四层是基于OSI基层模型划分
示意图:VIP(域名解析)暴露给用户,内部请求转发给后端的某一台服务器上,由后端的rs响应
功能:
- 解耦vip和rs,可以灵活地指向后端实现方便地扩缩容
- NAT
- 避免将物理机IP暴露给公网,防攻击: syn proxy
常见调度算法
- RR轮询Round Robin,将所有的请求平均分配给每个真实服务器RS
- 加权RR轮询:给每个后端服务器一个权值比例,将请求按照比例分配
- 最小连接:把新的连接请求分配到当前连接数最小的服务器
- 五元组hash:根据sip, sport, proto, dip, dport对静态分配的服务器做散列取模 缺点:当某个后端服务器故障后,所有连接都重新计算,影响整个hash环 一致性hash:只影响故障服务器上的连接session,其余服务器上的连接不受影响