“公有云可以作为传统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的负载均衡的更多相关文章

  1. 实现基于DNS的负载均衡

    转自:http://blog.sina.com.cn/s/blog_4e424e2101000c3g.html 如果你有一个很受欢迎的Web站点,你会发现当请求的连接数增加时,服务器的响应延时也会随之 ...

  2. 基于Docker的负载均衡和服务发现

    应用的容器化和微服务化带来的问题 在缺省网络模型中,容器每次重启后,IP会发生变动,在一个大的分布式系统保证IP地址不变是比较复杂的事情 IP频繁发生变动,动态应用部署无法预知容器的IP地址,clie ...

  3. DNS全局负载均衡(GSLB)基本原理

    原理 DNS全局负载均衡通过智能DNS解析来实现,通常在不同的地区设立多个数据中心,每个数据中心又使用多个运营商的线路.目前很多DNS服务商都提供了智能DNS服务,智能DNS通常是利用各运营商分省IP ...

  4. 实现基于Haproxy+Keepalived负载均衡高可用架构

    1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...

  5. 使用nginx sticky实现基于cookie的负载均衡

    在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接.使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端 ...

  6. Nginx基于TCP的负载均衡的配置例子

    原文:https://blog.csdn.net/bigtree_3721/article/details/72833955 nginx-1.9.0 已发布,该版本增加了 stream 模块用于一般的 ...

  7. 使用nginx sticky实现基于cookie的负载均衡【转】

    在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接.使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端 ...

  8. Linux的DNS实现负载均衡及泛域名部署

    DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到 ...

  9. Azure Load Balancer(二) 基于内部的负载均衡来转发为访问请求

    一,引言 上一节,我们使用 Azure Load Balancer 类型为外部的,来转发我们的 Web 服务.今天我们看看另一种类型为 “Internal” 的 Azure Load Balancer ...

随机推荐

  1. CSS尺寸单位 % px em rem 详解

    在CSS中,尺寸单位分为两类:相对长度单位和绝对长度单位.相对长度单位按照不同的参考元素,又可以分为字体相对单位和视窗相对单位.字体相对单位有:em.ex.ch.rem:视窗相对单位有:vw.vh.v ...

  2. aBowman >>可以运用到自己博客上的小插件

    大家进入我的博客会发现页面右边有一只小狗这部分.这个就是我用在上面的 一个小插件.插件网址是:http://abowman.com/google-modules/,这上面有很多的小插件,可以直接运用到 ...

  3. NSString和SwiftString的区别和使用场景

    当下Swift项目已经越来越多,可能会经常见到  str as NSString 或者 str as String 字符串在这两者之间的来回切换,因为有些操作用OC字符串比较方便,而有些操作则相反,熟 ...

  4. iOS开发init方法解析

    自定义的init方法,都必须调用父类的init方法. 一般情况下为: - (id)init {      [super init];      xxx = xxx; }   通常情况下,这种模式可以满 ...

  5. Eclipse为成员变量设置前缀

    Eclipse可以自动生成getter和setter,constructor. 菜单 - Source, 有Generate Getters and Setter,Generate Construct ...

  6. XML解析之DOM详解及与SAX解析方法的比较

    XML解析(DOM) XML文件解析方法介绍 我们所用到的NSXMLParser是采用SAX方法解析 SAX(Simple API for XML) 只能读,不能修改,只能顺序访问,适合解析大型XML ...

  7. C中的流程控制

    一. 流程控制 l 顺序结构:默认的流程结构.按照书写顺序执行每一条语句. l 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码. l 循环结构:在给定条件成立的情况下,反复执行某一 ...

  8. 什么是ODBO---OLE DB for OLAP

      我怎么一步一步追到ODBO了?   mondrian核心api->olap4j->jedox也在用olap4j->ODBO? ODBO是什么呢? OLE DB for OLAP ...

  9. 敏捷开发--scrum

    1.  请简述一下什么是敏捷开发(Agile Development),以及什么是持续集成.  敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个 ...

  10. 【Html5】Html5新特性Notification实现桌面消息推送(2016-05-25)

    序:最近工作使用WorkTile,发现使用Chrome浏览器的时候如果有任务下发给我则会在桌面右下角提示(当前浏览器为最小化模式).感觉这个东西蛮有意思的,感觉可以给用户更好的体验,于是乎就查询了一下 ...