当我们考虑“DNS轮询”作为背景时,可以将多个IP绑定到一个域,而不是只能将一个IP绑定到一个域,如下图所示。 它可以利用DNS这一特征进行负载均衡。
请注意,负载平衡并不针对每个请求切换IP。 通常,访问者的计算机访问此域名时,会长期获得相同的IP,除非清除并重新获取DNS缓存。 如图2所示,通过ipconfig /flushdns实现了DNS缓存的清除,获取了不同的IP
从宏观上来说,全国各地,或者世界各地的访问者,通过DNS配置多个IP,取得不同的分析,从而达到负荷分散。 (请注意,这种负载平衡策略不是“轮询”,而是应该长时间路由到同一IP的计算机,以用于同一访问者的计算机。 )
详细的测试方法编写springboot的程序,打包导入如图213和232所示的两台机器。 springboot程序暴露rest界面,在控制台上打印日志。 通过80端口启动后,验证各自的访问是否正常。 curl http://localhost:80/test
@getmapping(/test ) ) publicstringtest ) httpservletrequestrequest ) { localdatetimedatetime=local datetime.now }; system.out.println(ok,dateTime ); 返回' ok,' dateTime; }启动脚本:
nohup Java-jar DNS-LUN Xun-0.0.1-snapshot.jar-- spring.profiles.active=dev tail-100 fnohup.out然后部署DNS
tail -100f nohup.out跟踪和follow日志
在不同的计算机上访问http://www .你的域名.com/test,直到你尝试在两台机器的日志中查看打印记录。 虽然有时很难出现,但请尝试各种各样的事情。 此外,当网址发送到手机并通过4G网络访问时,域名可能会被解析为不同的IP。
上面搭载了两张a唱片,但我觉得搭载CNAME和a唱片没有区别。 因此,DNS并不是为了实现“DNS轮询”而安装A记录,应该都可以。