实现跨云应用——基于DNS的负载均衡
“公有云可以作为传统IT资源的延展,能帮助客户应对不断变化的需求”——这是我们在向客户介绍公有云产品时经常说的一句话。我们来看一个具体的需求:
某客户有一个web站点,部署在自有的数据中心(on-premises),在某些未计划高峰时期(假设是促销季),现有数据中心的基础设施资源不足以支撑突增的访问量。在这种情况下,公有云如何帮助客户拓展本地数据中心的处理能力从而满足峰值业务需求?
这个嘛,easy,客户只要将现有的web站点迁移到公有云上可以啦,什么横向扩展、按需付费、冗余存储等一大堆“云特性”就都齐全了,轻松搞定客户需求。然后,客户问了这样一个问题:应用(Web站点)都迁移到公有云上去了,我们现有的数据中心咋办?关闭?闲置?这是我们赖以生存的核心应用,都“飘在云端”总感觉有些不踏实呀...
看起来本来顺理成章的故事变得充满变数,其实这种情况是完全合理的:
- 因为迁移到公有云而废弃或者闲置现有的基础设施,而且还要做大规模的应用迁移(以及围绕应用迁移而产生的一系列工作量和成本),这对客户而言是无法接受的。使用云计算到底是省钱还是更费钱?是提升工作效率还是更折腾?
- 因为法律、合规等因素,客户不可能将所有的应用和数据都搬到到公有云上。但是客户也的确存在使用公有云的需求。例如:医院不可能把所有的病人数据和诊疗数据都保存到公有云上,但是可以通过公有云来提供检查报告/检验结果查询或者是预约挂号服务;企业不会将财务数据保存在公有云上,但是可以通过公有云提供对账、报表或者查询服务。
- 尽管公有云的安全与合规程度远高于某些客户自有的IT基础设施,但信任并非是短期内就可以建立起来的。就像我们完全有理由认为把钱存到银行也不是百分百安全一样——银行倒闭了咋办?
针对上述问题,我们可以使用“DNS负载均衡”来解决!
现在的DNS服务也不再是傻傻的只管将域名解析为IP地址了。很多提供域名相关服务的供应商都推出了智能DNS服务。与传统的DNS解析服务相比,智能DNS服务增加了以下功能:
- DNS权重负载均衡:默认的DNS负载均衡是轮询,即DNS服务器会平均的将请求分发到每个A记录。这样虽然实现了最简单的负载均衡,但是用户无法控制负载分发策略。DNS权重负载均衡就是在默认的DNS负载均衡机制上加入了权重值,用户可以通过权重值来设置分发到每个节点(A记录)上的请求数量,以此实现“能者多劳”——处理能力强的节点多承载一些负载。
- 来源智能解析:根据客户请求的来源(所在位置或者接入线路),返回对应的解析值(IP地址)。例如:用户将一个应用分别部署在中国和美国,在域名解析服务中给同一个域名设置2条不同的A记录,分别对应到中国和美国的应用地址(公网IP地址)。这样就能实现中国客户访问部署在中国的应用,外国客户访问部署在美国的应用,所有用户均使用相同的域名来访问应用。
国内外提供智能域名解析服务的厂商有:DNSPod,CloudXNS,万网,Akamai等。用户也可以选择使用F5的软硬件混合方案搭建自己的智能DNS解析服务。
万网的来源智能解析

DNSPod的DNS权重设置

除了上述智能DNS解析服务,Microsoft Azure和AWS也提供了类似的服务。在Microsoft Azure中,智能DNS解析服务是Traffic Manager Profile,注意不是Traffic Manager。Traffic Manager只能支持部署在Windows Azure上的应用。而Traffice Manager Profile可以支持外部的endpoint,即:可以在Microsoft Azure和本地数据中心之间进行DNS负载均衡,支持性能,权重和优先级3种负载分发算法。


不过在endpoint区域选择中,是没有中国大陆的。部署在中国的大陆的应用只能选择东南亚或者东亚。

另外,Traffic Manager Profile目前只在国际版的Microsoft Azure上提供,中国版的Windows Azure只有Traffic Manager。
在AWS国际版上,Route 53即智能DNS解析服务,与Microsoft Azure的Traffic Manager Profile相比,Route 53的区域划分更细致,而且支持中国大陆(CN)。AWS中国版目前还没有提供Route 53功能。

借助DNS负载均衡,我们就可以轻松实现一个混合云应用部署方案,让客户切实体验到云的优势。
诚祝:新年快乐!2016腾云而跃,一帆风顺,万事如意!
实现跨云应用——基于DNS的负载均衡的更多相关文章
- 实现基于DNS的负载均衡
转自:http://blog.sina.com.cn/s/blog_4e424e2101000c3g.html 如果你有一个很受欢迎的Web站点,你会发现当请求的连接数增加时,服务器的响应延时也会随之 ...
- 基于Docker的负载均衡和服务发现
应用的容器化和微服务化带来的问题 在缺省网络模型中,容器每次重启后,IP会发生变动,在一个大的分布式系统保证IP地址不变是比较复杂的事情 IP频繁发生变动,动态应用部署无法预知容器的IP地址,clie ...
- DNS全局负载均衡(GSLB)基本原理
原理 DNS全局负载均衡通过智能DNS解析来实现,通常在不同的地区设立多个数据中心,每个数据中心又使用多个运营商的线路.目前很多DNS服务商都提供了智能DNS服务,智能DNS通常是利用各运营商分省IP ...
- 实现基于Haproxy+Keepalived负载均衡高可用架构
1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...
- 使用nginx sticky实现基于cookie的负载均衡
在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接.使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端 ...
- Nginx基于TCP的负载均衡的配置例子
原文:https://blog.csdn.net/bigtree_3721/article/details/72833955 nginx-1.9.0 已发布,该版本增加了 stream 模块用于一般的 ...
- 使用nginx sticky实现基于cookie的负载均衡【转】
在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接.使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端 ...
- Linux的DNS实现负载均衡及泛域名部署
DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到 ...
- Azure Load Balancer(二) 基于内部的负载均衡来转发为访问请求
一,引言 上一节,我们使用 Azure Load Balancer 类型为外部的,来转发我们的 Web 服务.今天我们看看另一种类型为 “Internal” 的 Azure Load Balancer ...
随机推荐
- go语言循环语句 for
Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...
- js控住DOM实现发布微博简单效果
这段代码的效果具体是输入标题和内容,点击发布把消息发布出去,并使最新的消息始终在内容的最上面,代码为: <!DOCTYPE html> <html lang="en&quo ...
- JavaScript一些基础技巧和注意事项,你了解这些吗?
总结了一些JavaScript在开发编码中的使用技巧,如有不对,欢迎指正. 一.JavaScript在HTML和XHTML的使用 使用<script>元素有两种方式:直接在页面中嵌入Jav ...
- Oracle12C相关
1.jar包安装到MVN本地库 mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1 ...
- 无线安全审计工具 Fern WiFi Cracker
使用这款工具前最好自定义一个MAC地址,以便隐藏我们的真实MAC地址信息. 由于Fern WiFi Cracker是图形界面的,不需要敲命令,所以操作起来比Aircrack-ng简单了许多. 首先选择 ...
- Autodesk View and Data API练练手
大家如果参加过我们的活动,你应该已经听过看过不少关于View and Data Web Service的例子里,如果还没有的话,请看看下面这几篇: http://www.cnblogs.com/jun ...
- Java中"\t"表示几个空格
\t是补全当前字符串长度到8的整数倍,最少1个最多8个空格补多少要看你\t前字符串长度 测试程序: 测试结果: 总结:运行到“\t”时,判断当前字符串长度,将当前字符串长度补到8的倍数(不包括0).
- Android 手机卫士--实现设置界面的一个条目布局结构
本文地址:http://www.cnblogs.com/wuyudong/p/5908986.html,转载请注明源地址. 本文以及后续文章,将一步步完善功能列表: 要点击九宫格中的条目,需要注册点击 ...
- Android每次运行项目时重新启动一个新的模拟器的解决办法
具体解决办法 1.打开任务管理器,结束adb进程 2.此时android console下面会出现错误信息 3.切换到dos下面运行: adb start-server 4.重新运行android项目 ...
- 【Android市场】提交应用的一点经验分享
前言 如果只有一个或者少许的两三个Android市场,本文也没用存在的必要性,本文谨献给同在Android奋战的同仁. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnbl ...