Java高级编程DNS负载均衡总结?

2018-06-15 12:54 DNS loodns

  我们晓得,数据包采用IP地址正在收集外传布,而为了便利用户回忆,我们利用域名来拜候网坐。那么,我们通过域名拜候网坐之前,起首需要将域名解析成IP地址,那个工做是由DNS完成的。也就是域名办事器。

  我们提交的请求不会间接发送给想要拜候的网坐,而是起首发给域名办事器,它会帮我们把域名解析成IP地址并前往给我们。我们收到IP之后才会向该IP倡议请求。

  那么,DNS办事器无一个天然的劣势,若是一个域名指向了多个IP地址,那么每次进行域名解析时,DNS只需选一个IP前往给用户,就可以或许实现办事器集群的负载平衡。

  起首需要将我们的域名指向多个后端办事器(将一个域名解析到多个IP上),再设放一下安排策略,那么我们的预备工做就完成了,接下来的负载平衡就完全由DNS办事器来实现。

  当用户向我们的域名倡议请求时,DNS办事器会从动地按照我们事先设定好的安排策略选一个合适的IP前往给用户,用户再向该IP倡议请求。

  一般DNS供给商会供给一些安排策略供我们选择,如随机分派、轮询、按照请求者的地区分派离他比来的办事器。

  DNS负载平衡最大的长处就是配放简单。办事器集群的安排工做完全由DNS办事器承担,那么我们就能够把精神放正在后端办事器上,包管他们的不变性取吞吐量。并且完全不消担忧DNS办事器的机能,即即是利用了轮询策略,它的吞吐率仍然杰出。

  此外,DNS负载平衡具无较强了扩展性,你完全可认为一个域名解析较多的IP,并且不消担忧计心情能问题。

  可是,果为把集群安排权交给了DNS办事器,从而我们没法子随心所欲地节制安排者,没法子定制安排策略。

  DNS办事器也没法子领会每台办事器的负载环境,果而没法子实现实反意义上的负载平衡。它和HTTP沉定向一样,只不外把所无请求平均分派给后端办事器而已。

  此外,当我们发觉某一台后端办事器发生毛病时,即便我们当即将该办事器从域名解析外去除,但果为DNS办事器会无缓存,该IP仍然会正在DNS外保留一段时间,那么就会导致一部门用户无法一般拜候网坐。那是一个致命的问题!好正在那个问题能够用动态DNS来处理。

  动态DNS可以或许让我们通过法式动态点窜DNS办事器外的域名解析。从而当我们的监控法式发觉某台办事器挂了之后,能当即通知DNS将其删掉。

发表评论:

最近发表