实现跨云应用——基于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 ...
随机推荐
- texrecon进行纹理映射
使用texrecon进行纹理映射: 1) 跳转到mesh所在目录 cd meshdir 2) 参数 a) texrecon.exe b) bun ...
- [Tool] Chrome内的本地网页,使用XMLHttpRequest读取本地档案
[Tool] Chrome内的本地网页,使用XMLHttpRequest读取本地档案 问题情景 开发Cordova这类以网页内容作为UI的Hybrid APP时,开发人员可以使用IDE的功能将程序布署 ...
- 【精心推荐】12款很好用的 jQuery 图片滚动插件
这里收集了12款很好用的 jQuery 图片滚动插件分享给大家.jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各 ...
- Wrangle – 响应式的,触摸友好的多选插件
Wrangle 是一个响应式,触摸友好的选择插件,支持 jQuery 以及 Zepto.Wrangle 为多项选择提供了一个独特的方法:通过画一条贯穿项目的线条来选择项目.它给你的应用程序的一种新的方 ...
- Mithril – 构建杰出 Web 应用的 JS MVC 框架
Mithril 是一个客户端的 Javascript MVC 框架.它是一个工具,使应用程序代码分为数据层,UI 层和粘合层.提供了一个模板引擎与一个虚拟的 DOM diff 实现,用于高性能渲染,支 ...
- 从零开始,做一个NodeJS博客(四):服务器渲染页面与Pjax
标签: NodeJS 0 一个星期没更新了 = = 一直在忙着重构代码,以及解决重构后出现的各种bug 现在CSS也有一点了,是时候把遇到的各种坑盘点一下了 1 听歌排行 API 修复与重构 1.1 ...
- Javascript数组算法和技巧总结
Js-arrayMethod https://github.com/HerbertKarajan/Js-arrayMethod List unique an array 数组去重 random str ...
- iOS UIAlertController
在Xcode的iOS9.0 SDK中,UIAlertView和UIActionSheet都被UIAlertController取代. 在iOS 9中,UIAlertController在功能上是和UI ...
- SAP/SD - 做SD你要知道的透明表
一.客户主数据基本数据放在KNA1里:公司代码放在KNB1里:销售视图放在KNVV里:合作伙伴放在KNVP里:二.信用主数据KNKK里有信贷限额.应收总额.特别往来:S066里是未清订单值:S067里 ...
- SAP中删除假脱机请求
好几次公司的SAP都碰到所有的SMARTFORM都打印不了的情况.查了一下原因原来是假脱机请求太多了.清了一下,问题就解决了. 删除假脱机请求的一些方法: 1.避免经常出现此类错误,最好还 ...