zoukankan      html  css  js  c++  java
  • Windows Azure Affinity Groups (1) Windows Azure Affinity Groups(地缘组)的重要性

      Windows Azure Platform 系列文章目录

       

      Update: 2015-03-24

      如果用户基于某个地缘组,创建了虚拟机网络。那么加入这个虚拟网络的所有虚拟机,都不支持Reserved Virtual IP Address(固定公网IP)。

      At this moment, Microsoft Azure doesn’t support deploying a Cloud Service or Virtual Machine associated with a Reserved IP into an ‘Affinity Group based Virtual Network’. The following snippet shows a sample error message that you will get when to try to deploy a Virtual Machine deployment with Reserved IP into an ‘Affinity Group based VNET’.

      New-AzureVM : BadRequest : The deployment contains VirtualNetwork DemoVNET that belongs to an Affinity Group and ReservedIP that belongs to a region. This combination is not allowed.

      http://azure.microsoft.com/blog/2014/05/14/reserved-ip-addresses/

      笔者建议大家最近在使用Azure的时候,都不要使用地缘组(Affinity Groups)

      如果读者已经使用了地缘组创建了Virtual Network虚拟网络,可以参考我另外写的blog:

      Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置

      今天在和同事一起聊天的时候,谈到了Windows Azure Affinity Groups (地缘组)的一些问题。

      原本我一直以为Windows Azure Affinity Groups只是给数据中心的区域,起一个别名而已。比如我选择"东亚"的数据中心,我可以给这个数据中心创建地缘组,比如起名叫"Hong Kong"。那将来我在创建其他托管服务的时候,就直接用Hong Kong来替代(不需要再选择"东亚"这个数据中心)。

      但是我同事严肃地指出:我的这一认识是完全错误的!!!想到网上有那么多朋友看过我的博文,我想有必要再写一篇关于Windows Azure Affinity Groups的文章,来详细阐述微软为什么要创建这一机制。

      我们知道微软在全世界有8大数据中心(美国4个,欧洲2个,亚洲2个)。每一个数据中心都由若干个"容器"组成,"容器"的内部是集群(cluster)和机架(rack)。每一个容器都有特定的服务,比如计算和存储,SQL Azure和服务总线(Service Bus),访问控制服务(Access Control Service)等等。这些"容器"遍布在Windows Azure数据中心,每一次我们创建/更新托管服务的时候,Fabric Controller可以将我们的解决方案部署到整个数据中心上。

      但是,我们在创建托管服务时候,要注意到这一点:如果我们首先在"North Central US"创建一个新的托管服务,然后在"East Asia"(东亚)创建Storage Account(存储账户)。那这个Azure托管服务会遇到如下问题:

    • 服务响应慢:因为运算在美国,数据则放在东亚。网络传输会有延时。
    • 额外的费用:因为在两个不同的DataCenter之间会有数据传输,这会产生额外的费用。

      我们能想到是,在同一个数据中心创建托管服务和存储账户。

      但是,即使我们选择了同一个数据中心,也会出现另外一个问题:可能托管服务所在的物理位置是整个数据中心的靠中心的机器上,而存储账户则在数据中心的外围。在数据中心内部还是存在着网络延时。最好的情况是,我们将托管服务和存储账户放在同一个集群/机架上,这样可以让网络延时最小。如何实现这一功能呢?你可以使用Windows Azure Affinity Groups。

      Affinity Groups是告诉Windows Azure Fabric Controller,Compute(计算)和Storage(存储)应该屋里位置上是非常接近,并且放在一起的。这样Fabric Controller就可以在Container里搜索,让两者放在同一个集群(Cluster)上,使他们尽可能接近,并且减少延时,提高了性能。

      总的来说,Affinity Groups可以提供以下功能:

    • 聚集:因为Affinity Groups可以聚集我们的Compute和Storage。让Fabric Controller将两者放在同一个数据中心比较接近的位置上,甚至是同一集群上。
    • 减少延时:因为放在比较接近的位置上,当计算节点需要访问存储的时候,就可以得到更好的延迟,提高了性能。
    • 降低了成本:因为我们使用了Affinity Groups,就会避免随意选择数据中心部署的情况。而且因为部署的Compute和Storage都在同一数据中心,就无需为跨DataCenter产生的流量付额外的费用了。

      基于以上三个原因,我们要记得在刚开始使用Windows Azure,就应该使用Affinity Groups。因为一旦我们在没有采用Affinity Groups,部署完托管服务和存储账户之后,回过头来再想重新使用Affinity Groups就不可能了。

      

  • 相关阅读:
    初试django
    初试mysql
    ASP.NET MVC 做的网站项目
    Update 更新语句使用两个表关联
    SQL Server 输出所有表结构
    循环数据集字段赋默认值
    FireBird.conf配置文件常用参数
    Delphi 获取临时数据集 ClientDataSet
    DELPHI 读取csv 格式文本文件
    获取 临时数据集 的两种方法
  • 原文地址:https://www.cnblogs.com/threestone/p/2583111.html
Copyright © 2011-2022 走看看