负载均衡之基于DNS负载

基于DNS的负载平衡

  

OK,在了解了负载平衡系统的大致组成及使用方式之后。我们就来看看各种负载解决方式。

  

当前业界中所最常使用的负载平衡解决方式主要分为三种:基于DNS的负载平衡,L3/4负载平衡,也即是基于网络层的负载平衡,以及L7负载平衡,即基于应用层的负载平衡。在这些解决方式中,基于DNS的负载平衡是最简单的,也是最早出现的一种负载平衡解决方式。

  

当我们通过在浏览器的地址栏中键入域名来訪问某个站点时,浏览器将首先查找本地的DNS缓存是否拥有该域名所相应的IP地址。

假设有,那么浏览器将尝试直接使用该IP地址訪问该站点的内容。假设本地DNS缓存中没有该域名所相应的IP地址。那么它将向DNS发送一个请求,以获得该域名所相应的IP并加入到本地DNS缓存中。

  

而在DNS中,一个域名可能和多个IP地址绑定。在这样的情况下,DNS响应将会依照Round Robin方式返回这些IP地址的列表。

比如在多次通过nslookup或host等命令来查看特定域名所相应的IP时。其可能的返回例如以下(因国内网络原因,您须要FQ再进行试验):

能够看到。不同的DNS请求所返回的结果会依照Round Robin进行轮换。进而使得不同的用户訪问不同的IP地址。平衡各个server的负载。

  

尽管这样的负载平衡解决方式很easy实现,可是它有一个致命的缺点:为了降低DNS请求的次数以提高訪问效率。浏览器经常缓存了DNS查询的结果。假设一个IP处的服务失效。那么浏览器可能仍会依据DNS缓存中所记录的信息向该不可用的服务发送请求(不同的浏览器可能有不同的行为)。尽管说整个服务仅仅有一处IP所相应的服务失效了,可是从用户的角度看来该站点已经不可訪问。因此基于DNS的负载平衡方案并不能作为一个独立的负载平衡解决方式来提供高可用性的保障,而是作为其他负载平衡解决方式的补充方案来使用。

时间: 2024-08-01 06:50:28

负载均衡之基于DNS负载的相关文章

负载均衡之基于L7负载

L7负载平衡 另一种较为常用的负载平衡解决方案则是L7负载平衡.顾名思义,其主要通过OSI模型中的第七层应用层中的数据决定如何分发负载. 在运行时,L7负载平衡服务器上的操作系统会将接收到的各个数据包组织成为用户请求,并根据在该请求中所包含的的数据来决定由哪个服务实例来对该请求进行处理.其运行流程图大致如下所示: 相较于L3/4负载平衡服务所使用的数据,L7负载平衡服务所使用的应用层数据更贴近服务本身,因此其具有更精确的负载平衡行为. 在前面对L3/4负载平衡的讲解中我们已经介绍过,对于某些具有

nginx1.9基于端口的四层负载均衡实践,基于端口的转的负载均衡

在大型项目四层负载有LVS,但在中小型项目或者内部有很多应用需要做TCP四层基于端口转,以前我们采用Socat,后面也尝试使用iptables来做四层的端口转发,同样HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,但由于其配置相对复杂,在实际生产项目中还是以Nginx为主, Nginx1.9的推出不使用使之支持HTTP2.0,另外一上更加让人兴奋的就是默认支持TCP端口的四层负载均衡能力,话多多说直接看实例代码 server {     listen 127.0.0.1:

四层负载均衡与七层负载均衡区别

四层负载均衡:仅仅建立一次TCP连接 七层负载均衡:负载均衡器与客户端及后端的服务器会分别建立一个TCP连接.即两次TCP连接. (一) 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址:三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址:四层通过虚拟IP+端

负载均衡总结(四层负载与七层负载的区别)

https://www.jianshu.com/p/9826d866080a 1. 什么是负载均衡 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 2. 负载均衡分类 负载均衡根据所采用的设备对象(软/硬件负载均衡),应用的OSI网络层次(网络层次上的负载均衡),及应用的地理结构(本地/全局负载均衡)等来分类.本文着重介绍的是根据应用的 OSI 网络层次来分类的两个负载均衡类型. 我们先来看

负载均衡手段之DNS轮询

大多数域名注册商都支持对统一主机添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负载均衡.下图的例子是:有3台联通服务器.3台电信服务器,要实现"联通用户流量分摊到3台联通服务器.其他用户流量分摊到电信服务器"这个效果的设置. DNS由于成本较低,所以一般在小型的网站用的比较多.但是大型的网站一般也会将用它和其他负载均衡的方式结合起来一起使用,DNS轮询方式提供的IP地址,在大型网站中往往是一个集群的地址,可能是均衡交

Nginx 负载均衡(基于IP/端口)

Nginx负载均衡的原理图: 网站内容分别部署在apache1和apache2上,在Nginx上进行负载均衡设置,当用户想访问apache1和apache2服务器上的内容时,只需要访问Nginx服务器,Nginx会将请求分别转发到web服务器apache1和apache2上,web服务器处理请求后,将请求的内容发送到Nginx上,Nginx再将内容返回给用户那里. 这个转发过程,对于用户来说是感受不到的,既能保护web服务器安全,又能提高web服务器的性能. 负载均衡设置方式: 如图,有一台Ng

keepalived 主备服务负载均衡、基于LAMP平台

一.keepalived的基本原理介绍 keepalived最初设计的目的是为了实现lvs前端director的高可用,非常轻量级.主要的实现的vrrp协议. VRRP是一种容错协议,它保证当主机的下一跳路由器出现故障时,由另一台路由器来代替出现故障的路由器进行工作,从而保持网络通信的连续性和可靠性. VRRP具有如下优点: 简化网络管理:在具有多播或广播能力的局域网(如以太网)中,借助VRRP 能在某台设备出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,而无需修改

初识TomCat之4——TomCat负载均衡及基于IP的Session sticky

一.背景介绍 当一个tomcat服务器性能遇到瓶颈时,通常的做法是将tomcat服务器横向扩容,使用多台tomcat服务器来响应用户请求,但此时又引入了一个新问题,就是用户每次请求都会随机给他分配一个tomcat服务器,下面介绍如何实现tomcat实现负载均衡和会话绑定 二.实验拓扑 本次实验采用3台主机,操作系统为centos 7.4,JDK版本为1.8,tomcat版本为8.5,拓扑如下图所示: 当用户请求指定的域名时,静态内容由反代服务器自身响应,动态内容转交后端tomcat服务器响应,为

负载均衡之基于L3/4负载

L3/4负载平衡 另一种较为常见的负载平衡则是L3/4负载平衡.这里的L3/4实际上指的就是负载平衡服务器会根据OSI模型中的第三层网络层(Network Layer)和第四层传输层(Transport Layer)所包含的数据来进行负载平衡操作.在这种负载平衡服务器中,这些数据主要包含数据包的IP头和TCP.UDP等协议的协议头: L3/4负载平衡服务器的工作原理非常简单:在数据到达时,负载平衡服务器将根据自身算法以及OSI模型三四层所包含的数据决定需要处理该数据的服务实例并将其转发. 整个负