一周以前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. struts2 ajax 实现方式

    在 struts2 中实现ajax,可以使用struts2-json-plugin扩展,但是返回的json字段必须都是Action中的属性,不可以随意的输出文本. 返回任意的文本有两种方式, 方法一: ...

  2. Audit(查看审核/审计信息)

    2013需要到 网站集管理-网站集审核设置 中设置要开启的审核项,开启之后sharepoint才会记录信息,信息存储在contentDB的AuditData中: 去读审计信息的sharepoint代码 ...

  3. git 删除配置的远程地址

    删除(origin 名称需根据你本地查询出来的想删除的名字, 查询命令为 git remote -v) git remote rm origin 添加(origin 名称可根据需要添加) git re ...

  4. Frequent Pattern 挖掘之一(Aprior算法)(转)

    数据挖掘中有一个很重要的应用,就是Frequent Pattern挖掘,翻译成中文就是频繁模式挖掘.这篇博客就想谈谈频繁模式挖掘相关的一些算法. 定义 何谓频繁模式挖掘呢?所谓频繁模式指的是在样本数据 ...

  5. Oracle中的job(转载)

    我们在项目开发中,常常会有一些复杂的业务逻辑.使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执 ...

  6. 网站集A的子网站B上没有解决方案C发布的webpart

    在A的主站点,查看解决方案C在该网站集的feature,若未打开,则打开:若已经打开,可以先关闭再打开一次. 如果问题依然存在,可以查看子网站B上的feature是否打开,若未打开,则打开:若已经打开 ...

  7. 安装mysql数据库

    http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html

  8. Object-C 类实现

    这篇为Object-C添加方法的后续. 这里我们应该在类的实现(.m)文件中写 #import "Photo.h" @implementation Photo - (NSStrin ...

  9. CoreAnimation5-图层时间和缓冲

    图层时间 动画的发生是需要持续一段时间的,所以计时对整个概念来说至关重要.在这一章中,我们来看看CAMediaTiming,看看Core Animation是如何跟踪时间的. CAMediaTimin ...

  10. 说说http请求

    为什么做web前端要了解http标准?因为浏览器要从服务端获取网页,网页也可能将信息再提交给服务器,这其中都有http的连接.web系统既然和http链接有瓜葛,你就必须去了解它.我将从一下几个方面讲 ...