负载均衡实现,一个域名对应多个IP地址【转载】
使用负载均衡实现,传统和常规做法,其他方式需要特殊处理。(dns轮询,或者自己做解析)
1、一个域名设定多个dns服务或者服务器进行解析,同一个域名的每个解析都指向不同的ip地址,这样应答快的dns优先进行解析,这样就能保证最快定向到指定的网站空间去。如果空间也存在不同地点的相同内容镜像,那么这种方式最适合,例如sohu全国都有服务器,就是这么干的,除非你指定要访问某个地方的服务器,否则默认转向最快的空间,因为内容是镜像自动同步的,内容上不存在差别,用户是不知道的。一般域名管理机构只允许设定2到3个域名解析服务,所以再多就不支持了。
2、自己公司建立服务器,给自己进行dns解析服务,这样容易实现以上功能的操做。且数量不受限制,例如给客户提供移动、联通、网通、电信、东方宽带、长城宽带等等多个dns,那么使用对应宽带的用户都能自动定向到适合自己的网站去,企业可以分别在不同运营商那里建立网站,保证不同带宽的用户都能高速访问,很多游戏运营商都是这么干的。
DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
DNS负载均衡的优点是经济简单易行,并且服务器可以位于internet上任意的位置。但它也存在不少缺点:
为了使本DNS服务器和其他DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分配,一般都要将DNS的刷新时间设置的较小,但太小将会使DNS流量大增造成额外的网络问题。
一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。
DNS负载均衡采用的是简单的轮循负载算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。
要给每台服务器分配一个internet上的IP地址,这势必会占用过多的IP地址。
判断一个站点是否采用了DNS负载均衡的最简单方式就是连续的ping这个域名,如果多次解析返回的IP地址不相同的话,那么这个站点就很可能采用的就是较为普遍的DNS负载均衡。但也不一定,因为如果采用的是DNS响应均衡,多次解析返回的IP地址也可能会不相同。不妨试试Ping一下www.yesky.com,www.sohu.com,www.yahoo.com。
现假设有三台服务器来应对www.test.com的请求。
在NT下的实现也很简单,下面详细介绍在win2000 server下实现DNS负载均衡的过程,NT4.0类似:
打开“管理工具”下的“DNS”,进入DNS服务配置控制台。
打开相应DNS 服务器的“属性”,在“高级”选项卡的“服务器选项”中,选中“启用循环”复选框。此步相当于在注册表记录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters中添加一个双字节制值(dword值)RoundRobin,值为1。
打开正向搜索区域的相应区域(如test.com),新建主机添加主机 (A) 资源记录,记录如下:
www IN A 192.1.1.1
www IN A 192.1.1.2
www IN A 192.1.1.3
在这里可以看到的区别是在NT下一个主机名对应多个IP地址记录,但在unix下,是先添加多个不同的主机名分别对应个自的IP地址,然后再把这些主机赋同一个别名(CNAME)来实现的。
在此需要注意的是,NT下本地子网优先级会取代多宿主名称的循环复用,所以在测试时,如果做测试用的客户机IP地址与主机资源记录的IP在同一有类掩码范围内,就需要清除在“高级”选项卡“服务器选项”中的“启用netmask排序”。
负载均衡实现,一个域名对应多个IP地址【转载】的更多相关文章
- 负载均衡实现,一个域名对应多个IP地址
负载均衡实现,一个域名对应多个IP地址 - 宏宇 - 博客园 https://www.cnblogs.com/cuihongyu3503319/archive/2012/07/09/2583129.h ...
- 【转】一个域名对应多个IP地址,接下来系统是依据什么决定使用哪个IP地址的?
例如下图所示:nslookup http://www.sina.com.cn返回了多个IP地址,当使用curl通过域名进行访问时,则自动选择了其中一个地址进行访问,这个选择的过程里发生了什么事情? 绝 ...
- nginx的反向代理和负载均衡的一个总结
之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了! 接下来先看一下nginx的反向代理: 简单的来说就是ngi ...
- Linux的DNS实现负载均衡及泛域名部署
DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到 ...
- 在CentOS 7上给一个网卡分配多个IP地址
有时你也许想要给一个网卡多个地址.你该怎么做呢?另外买一个网卡来分配地址?在小型网络中其实不用这么做.我们现在可以在CentOS/RHEL 7中给一个网卡分配多个ip地址.想知道怎么做么?好的,跟随我 ...
- python实现判断一个字符串是否是合法IP地址
#!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:判断一个字符串是否是合法IP地址 ''' import re def jud ...
- 判断一个字符串是否是合法IP地址
# -*- coding: utf-8 -*- """ @File:test06_判断ip地址是否合法.py @E-mail:364942727@qq.com @Time ...
- Nginx 负载均衡 后端服务器获取前端用户真实IP
Nginx 后端 日志文件 获取的都是 前端 负载均衡器的IP 想要获取用户的真实IP 必须 使用Nginx 的模块 http_realip_module 才行!! 1. 编译 Nginx 的时候 ...
- WINDOWS 负载均衡NLB配置中单播与多播区别(转载)
单播 在单播模式下,NLB重新对每个NLB节点中启用NLB的网络适配器分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB修 ...
随机推荐
- Solr之java实现增删查操作
1.添加pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- 阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
循环打印 工厂了的打印先注释掉 打印出来了5次对象. 打印数字i同时,让i++操作.为了看他被常见了几次实例 调用保存的方法 没个都想都有一个唯一的实例.在创建对象的时候,重新初始化了i的值.所以i每 ...
- python学习笔记:(十)函数
python中定义函数使用def关键字,一般格式如下: def 函数名(参数列表): 函数体 如: #无参数 def helloworld(): print("Hello World!&qu ...
- 【DVWA】Command Injection(命令注入)通关教程
日期:2019-08-01 16:05:34 更新: 作者:Bay0net 介绍:利用命令注入,来复习了一下绕过过滤的方法,还可以写一个字典来 fuzz 命令注入的点. 0x01. 漏洞介绍 仅仅需要 ...
- svn版本合并
假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时候,突然接到 ...
- 配置linux系统时区---解决ntp同步完时间不准问题
ntp配置完成后时间仍然不准有下面两种情况: ntp服务端配置完ntp服务器后,查看时间和百度的时间不一样按照下面解决 ntp客户端同步完ntp服务器后,查看客户端的时间和百度不一致,按照下面解决 1 ...
- window10安装Elasticsearch及可视化工具es header
1.下载es(选择windows版本) https://www.elastic.co/cn/downloads/elasticsearch 2.解压安装包,到bin目录下,运行elasticsearc ...
- Day06:方法 / 猜字母游戏
JAVA方法 方法就是处理一个业务所需要编写的代码的代码段 方法特性 一个方法处理一个业务 方法代码编写,不和其他方法冲突 方法定义后可以随意调用 将main方法中的所有代码分散到各个普通方法中 减少 ...
- 如何理解springcloud微服务项目中,eureka,provider,consumer它们之间的关系?
eureka负责注册provider和consumer的服务信息 provider负责与数据库进行交互,实现数据持久化,并给consumer提供服务 consumer与前端交互,通过与Eureka同源 ...
- HTML5 plus 报错 Uncaught SyntaxError: Unexpected identifier at XXXX.html:1
最近使用 VUE2.X + muse-ui + HTML5 plus 开发webApp 调用HTML5 plus报错,错误提示如下 Uncaught SyntaxError: Unexpected ...