一周以前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. 设计模式——工厂模式 (C++实现)

    软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径.设计模式中运用了面向对象编程语言的重要特性:封装.继承.多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累. ...

  2. Gym 100187A-Potion of Immortality

    题意:有n个药瓶,里面有一个有毒,然后每次拿兔子去试吃k瓶并且只能是k瓶,如果兔子死了就知道那瓶是毒药了,现在问你最少兔子要试吃几次. 分析:这题卡了好久,其实很简单.先考虑肯定要吃n/k次,那么剩下 ...

  3. 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

    原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...

  4. Java重写和重载的区别

    区别点 重载方法 重写方法 参数列表 必须修改 一定不能修改 返回类型 可以修改 一定不能修改 异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常 访问 可以修改 一定不能做更严格的限制( ...

  5. C#语法糖之第四篇: 扩展方法

    今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法.大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做.我先说一下我没有学习到 ...

  6. (转)C# 中的委托和事件

    来源:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-In-CSharp.aspx 引言 委托 和 事件在 .Net ...

  7. [综合|基础|语法] 最新的皮肤帮助类 UI_Misc_Helper (转载)

    using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace ...

  8. 自动化构建jenkins配置

    1.安装jdk7+tomcat7 2.下载msi安装文件(我是win7上安装,下载地址 http://Jenkins-ci.org/),文件安装路径选择\tomcat\webapps. 3.安装成功之 ...

  9. 黑马入学基础测试(三)求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55

    .获得用户的输入 计算      3打印就行了.   这里用到了java.util.Scanner   具体API  我就觉得不常用.解决问题就ok了.注意的是:他们按照流体的方式读取.而不是刻意反复 ...

  10. 如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec VPN

    本站的 Rio 最近在一台 Ubuntu 和一台 Debian 主机上配置了 L2TP / IPSec VPN,并在自己的博客上做了记录.原文以英文写就,我把它大致翻译了一下,结合我和 Rio 在设置 ...