一周以前Windows Azure发布了新的更新内容,主要的更新有3项:

  • 虚拟机上的SQL Server支持AlwaysOn可用性组了
  • Notification Hub商用
  • 自动缩放支持时间策略

这里的第一项要稍微解释下,那就是什么是AlwaysOn。这要从SQL Server的高可用说起。我们或许知道Azure上的SQL Database是一种PaaS服务,其最主要的一个特性就是天然的高可用设计,每个数据库实例都是由后台3个实例组成,一主两备,这样客户自己就不需要进行高可用方面的任何配置。SQL Database虽好,但是也有局限,那就是其性能和功能都有一定的限制,有时候我们不得不找一台虚拟机,在上面运行传统的SQL Server,同时也要自己配置SQL Server的高可用。SQL Server的高可用配置主要有4种方式:

1. AlwaysOn 故障转移群集实例。通俗点讲就是共享磁盘,然后通过Windows集群进行自动主备切换。这种方式是当今市场上绝大部分数据库软件采用的主备切换方式,其优点是不需要修改应用和数据库软件,只需要通过外部的集群管理器进行自动化监控和配置。其缺点也十分明显,就是配置起来太复杂,对硬件也有要求。在Azure上,由于虚拟机无法共享磁盘,因此此方法不适用

2. AlwaysOn 可用性组(就是这次宣布商用的特性)。该方法是由SQL Server软件本身实现的切换方式,其原理是数据库镜像+失效转发:主数据库将数据库日志实时(也可以异步)发送给备机,并监控每台主机状态;整个系统同时提供一个VIP作为客户端连接入口;当主数据库失效后,VIP自动指向备机。这种方法的好处是不需要共享存储也不依赖硬件,因为数据是在软件层面进行的复制,也叫Share Nothing的方式。这种方式可以支持1主4备,备机可以支持读操作,也可以用来做备份。备机还可以位于远程数据中心,实现容灾。这和Mysql的复制十分相似。不过,之前要想在Azure上进行该配置仍存在一个问题,就是Azure里面的VIP是轮询式的,不支持主备式,无法满足SQL Server主备配置的需要。于是,Azure在端点功能上增加了一个特性,就是“-DirectServerReturn ”属性。所谓DirectServerReturn,是负载均衡的一种实现机制。基本的负载均衡机制是:源端A发请求给负载均衡器F,然后转发给后台的某台服务器S,服务器处理后,返回包的路径为S->F->A。而DirectServerReturn的机制,是服务器直接将结果发给客户端,绕过负载均衡,这样可以节省一次中转,全部路径为A->F->S->A。Azure上的DirectServerReturn实现机制是:客户端A发请求给F,F广播给所有的后台服务器,然后当前的主服务器返回结果给客户端。有了这种支持,SQL Server就可以同时有多个实例接收请求,并进行响应。SQL Server的用户在Azure上就可以获得HA、DR的商业化支持了。目前Azure上只有SQL Server 2012支持该特性

3. 数据库复制。这是AlwaysOn 可用性组技术的前身。与AlwaysOn    不同的是,数据库复制只支持1主一备,而且客户端需要知道主机和备机的IP。该特性目前已经被AlwaysOn取代了

4. 日志复制。就是将SQL server的日志定期发布到其他数据库上。这种方法可以看成数据库复制的一个变种,就是将复制的周期拉长。其好处是对数据库版本没什么要求,缺点是数据更新不及时。因此,该方法适合与实时性要求低的场景,比如备份或者容灾系统

综上,要在Azure虚拟机上运行高可用的Sql server,最好采用AlwaysOn可用性组

关于Notification Hub,它是Service Bus下面的一项子服务,其主要功能是进行异构移动设备的消息通知。Windows Phone, Android和iOS都有自己的通知中心,应用要发通知消息给客户端,需要根据客户端类型分别跟微软、谷歌和苹果的消息中心通信,并且需要事先记录每个设备的唯一码。Notification Hub简化了通知的发送,应用只需要一次调用即可向不同种类的移动设备发送消息。同时,Notification Hub采用Tag进行客户端设备标记,这样应用就不需要记住每个设备的唯一码,而是由Notification Hub来维护,应用可以向某个Tag的用户广播消息,十分适合大规模用户的消息推送(百万量级)

最后一个,关于自动缩放,新增的功能是可以按照不同时间段定义缩放策略。比如白天的策略是运行4-8个实例,晚上是2-3个。这样可以对资源使用进行更为精细化的控制

此次更新的全部信息,可以参考

http://weblogs.asp.net/scottgu/archive/2013/08/12/windows-azure-general-availability-of-sql-server-always-on-support-and-notification-hubs-autoscale-improvements-more.aspx

Windows Azure功能更新:SQL Server AlwaysOn和Notification Hub 正式商用的更多相关文章

  1. Windows Azure功能更新:弹性伸缩(autoscale)、监控报警、移动服务及网站服务商用、新的虚拟机镜像

    Windows Azure功能又更新了.此次更新包括1项重要更新和两个功能更新: 重要更新:云服务.网站支持按策略进行弹性伸缩 功能更新:两个预览版的服务(网站和移动)进入商用,虚拟机服务支持SQL ...

  2. Windows Azure功能更新: SDK 2.1发布,Traffic Manager集成

    最近,Windows Azure又进行了更新 Windows Azure SDK 2.0发布没多久,2.1版(for .NET)就在今天发布了.2.1版本在管理功能上进行了重大改进,包括Visual ...

  3. Windows Azure功能更新:Oracle软件正式登陆Azure了

    今天,Windows Azure国际版发布了新的功能:全面支持Oracle软件,包括Oracle Linux, Oracle 12c数据库,Weblogic 11g和12c,Oracle JDK 6和 ...

  4. 宣布正式发布 Windows Azure Notification Hub,新增 SQL Server AlwaysOn 可用性组侦听器支持

    今天,我们非常高兴地宣布,针对使用 Windows Azure 的移动和企业开发人员推出一些新功能.这些新功能可以减少构建移动应用程序的开发时间和成本,并能帮助企业开发人员实现高可用性和全球业务连续性 ...

  5. 转载文章:Windows Azure 七月份更新:SQL 数据库、流量管理器、自动伸缩、虚拟机

    转载文章:Windows Azure 七月份更新:SQL 数据库.流量管理器.自动伸缩.虚拟机 今天上午,我们发布了一些重大的 Windows Azure 更新.这些新的增强功能包括: · SQL 数 ...

  6. SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -2(虚拟IP视角)

    1.需求描述 我们知道Windows Cluster 都是多节点的,当虚拟IP漂移的时候,一般都是从一个节点漂移到另外一个节点.如果可以及时捕捉到旧节点信息是什么.新节点信息是什么对我们提供高可用的数 ...

  7. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  8. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  9. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

随机推荐

  1. CSS背景颜色、背景图片、平铺、定位、固定

    CSS背景颜色设置 background-color:red;如设置背景颜色为红色: 背景颜色设置支持3种写法: 颜色名 16进制 rgb CSS背景图片颜色设置 background-image:u ...

  2. boost.log要点笔记

    span.kw { color: #007020; font-weight: bold; } code > span.dt { color: #902000; } code > span. ...

  3. 转-C# 操作 Excel 常见问题收集和整理

    经常会有项目需要把表格导出为 Excel 文件,或者是导入一份 Excel 来操作,那么如何在 C# 中操作 Excel 文件成了一个最基本的问题. 做开发这几年来,陆陆续续也接触过这样的需求,但因为 ...

  4. PHP-popen() 函数打开进程文件指针

    待更新 版权声明:本文为博主原创文章,未经博主允许不得转载.

  5. Java获取项目路径

    参考博客.自己就不写了.我觉得他写得很详细 http://blog.csdn.net/hpf911/article/details/5852127

  6. mvc5 + ef6 + autofac搭建项目(repository+uow)(二)

    续上篇: DBContext 在上篇 图一类库根目录创建的 DbContextBase /// <summary> /// 数据库上下文基类 /// </summary> // ...

  7. php解决下单、抽奖并发导致的库存负数的问题

    我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的: sql1:查询商品库存 if(库存数量 > 0) {     //生成订单...     sql2:库存-1 } 当没有并发 ...

  8. details标签和summary标签

    代码: <details open="open"> <summary>幸福度调查结果</summary> <p>对人们幸福度的调查& ...

  9. 移动端日期控件 mobiscroll

    Mobiscroll是一个用于触摸设备(Android phones, iPhone, iPad, Galaxy Tab)的日期和时间选择器jQuery插件.可以让用户很方便的只需要滑动数字既可以选择 ...

  10. jQuery 插件写法

    一.jQuery插件的类型 1. jQuery方法 很大一部分的jQuery插件都是这种类型,由于此类插件是将对象方法封装起来,在jQuery选择器获取jQuery对象过程中进行操作,从而发挥jQue ...