dns解析过程
1.先在浏览器缓存寻找是否有域名解析过的ip
缓存的容量和时间都有限制
缓存时间可以通过TTL属性设置
缓存时间过长 如果ip更改会导致域名不能正常解析
缓存时间过短 会导致每次请求都需要解析域名
2.在本地host文件中查找对应域名的ip
可能有黑客攻击电脑 修改host文件 劫持访问域名到指定的ip服务器
3.在公网dns域名解析服务器-LDNS中查找 一般由运营商提供
4.如果LDNS没有命中 就直接到root server域名服务器进行解析<br>
5.在公网dns找到解析的ip后会缓存到本地服务器中
外网映射工具:natapp ngork<br>
应用场景
2.虚拟主机
配置不同域名和端口 创建相应的监听服务
3.反向代理 负载均衡
集群配置 平摊负载
隐藏真实服务器的ip 提高安全性 nginx服务器和真实服务器通过局域网通信 客户端与nginx通过外网通信
4.安全管理
搭建api接口网关 对所有接口服务进行拦截
动态负载均衡
解决方案
1. Consul+Consul-template <br>每次发现配置更改需要raload nginx,重启Nginx。
2. Consul+OpenResty 实现无需raload动态负载均衡
3. Consul+upsync+Nginx 实现无需raload动态负载均衡<br>
环境搭建
Consul环境搭建-可视化页面用于配置动态的负载配置
安装nginx插件nginx-upsync-module
nginx通过插件定时通过配置中的时间去拉取指定的配置文件 <br>更新指定部分的配置文件,并保存在本地文件中,以防连接丢失<br>再去重新nginx 实现动态更新
lvs+keepalived+nginx实现高性能负载均衡集群
LVS
lvs-keepalived-nginx关系图
Keepalived
keepalived安装成Linux系统服务
使用keepalived虚拟VIP
双机主从热备
Nginx Upstream 实现简单双机主从热备
Nginx+keepalived简单双机主从热备
nginx+keepalived实现高可