基于Window Azure 静态网站的跨站点高可用!

??

我们上篇文章讨论了基于PAAS的简单网页的Failover,由于相对操作比较简单,因为PAAS的接口对应给用户相对较少,因此针对无状态的配置相对简单。而针对通过虚拟机来配置我们可以实现本地高可用和跨站点高可用来结合提供更高的可用性。

而基于虚拟机方式提供的高可用,我们可以在本地建立两台虚拟机,保证我们应用访问的高可用,因为没有涉及到交互的静态页面,因此我们可以采用建立可用性群集的方式保证我们的网站在同一个数据中心的可用性。同时我们用Traffic Manager来保证我们在跨数据中心的时候依然保证了我们数据访问不会出现异常。

拓扑架构如下:

上图就是我们在面对静态网站或者非交互性网站的虚拟机可以采用的架构,现在我们用三台标准A2级别服务器来完成本次的模拟,我们还是利用之前的网站,建立基于Windows Server 2008 R2 IIS的网站来满足客户访问的要求。

接下来让我们模拟这个过程吧:

  1. 我们先按照步骤建立第一台服务器,服务器的网络和存储账号定义东部数据中心:

  2. 选择中文 2008 R2 系统后点击下一步:

  3. 输入相应的参数州我们点击下一步:

  4. 我们新建一个云服务,存储选择东部数据中心。选择我们预先创建的网络:

  5. 勾选需要安装的agent:

  6. 我们到此已经创建完成了:

  7. 接下来我们创建另外一台服务器来完善创建可用性集合,其他过程都一样,需要特别注意下这个机器必须和上一台机器处于同一个云服务中:

本地高可用基本上我们创建完毕,接下来我们必须来找到实现高可用的方法,对于用户来说,保证前端和无状态的情况下保证高可用,我们可以使用负载均衡的方式来实现,而为了保证这些机器是有关联的,我们需要创建服务器可用性群集,接下来我们按照负载均衡和可用性群集的方式分别创建负载均衡和可用性群集。首先我们先创建负载均衡。

  1. 我们转向到Windows ServerA的端点,创建一个80的端口,同时创建负载均衡:

  2. 选择添加独立终结点:

  3. 勾选创建负载均衡集:

  4. 我们选择探测的方式和端口:

  5. 我们已经创建完成,可以看到80端口已经创建:

  6. 接下来我们将ServerB加入到负载均衡中:

  7. 设置好名词后创建完成:

  8. 我们回到端口列表就能够看到列表已经创建完成了:

  9. 接下来我们根据需要创建可用性集,可用性集不是必要的,但是在多数情况下,最好建立可用性集合来完成我们的虚拟机的可用性集合,主要也是为了将来实现基于云的缩放功能完成资源的自动缩放。接下来我们来设置可用性集合来完成我们的虚拟机的设置,我们直接选择我们的虚拟机:

  10. 选择创建新的可用性群集:

  11. 可用性集合创建完成:

  12. 接下来我们选择另外一台机器,将另外一台机器加入可用性群集:

    完成上面步骤操作,我们已经完成了需要的一些操作达成了本地的网站的可用性目标了。接下来我们将网站部署到两台服务器上。我们登录到两台服务器上,然后安装IIS。

    将数据拷贝到IIS根目录:

    同时将文件部署在另外的一台的IIS中,接下来我们测试下,打开http://piloteast.chinacloudapp.cn/,我们发现可以正常访问了:

    接下来我们部署跨站点的访问了,这边我们依然使用traffic manager 来达成我们的目标,其实也是利用Traffic Manager的技术达成故障转移来完成我们的高可用目标,我们来看看Traffic Manager技术:

    如上图,我们有4个访问站点,我们利用DNS来查询出Traffic Manager 的地址,Traffic Manager 通过查询当前4个站点的WEB状态来确定我们业务状态,返回给我们一个健康的应用地址,来达成我们数据高可用访问目标,接下来我们就先创建一台远端的高可用服务器,接下来利用Traffic manager 技术来将Failover 流量在出现问题后倒入到远程站点。

  1. 我们先在远程站点建立一套访问服务器:

  2. 接下来将网站部署在第三台服务器上:

  3. 接下来我们就需要设置我们的Traffic Manager 来达到应用的故障转移功能,首先我们创建一个新的故障转移的Traffic Manager 。我们转移到Portal 界面中的流量管理器,点击新建:

  4. 创建完成后,我们添加东部数据中心和北部数据中心的机器,因为是虚拟机,虚拟机挂靠在windows Azure,由于我们在东边和北部数据中心:

  5. 创建完成后就开始检查状态是否正常:

  1. 我们看下终结点是否正常:

  2. 接下来配置TTL的时间及相关的配置:

  3. 保存完毕后我们开始做测试,测试步骤如下:

  4. 我们打开IE,测试下网站是否正常。

  1. 关闭ServerA,我们再试着开启网站,网站依然正常:

  2. 接下来我们看看我们是否能够实现跨站点的虚拟机高可用,接下来就是关闭ServerB咯,看下是否能够切换到远程站点,已经OK了:

    到此,我们目前基于无状态的IAAS的应用的高可用已经配置完成,目标也完整实现

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

时间: 2024-10-27 05:55:30

基于Window Azure 静态网站的跨站点高可用!的相关文章

Azure WEBsite 的跨站点高可用(上海数据中心-北京数据中心)

?? 我们上次讲到了程序应用的三层架构,我们这次就从最简单的说起,从最简单的应用架构到最复杂的三层架构高可用,来慢慢学习我们怎么来保证数据层面的最高级别高可用. 目前Windows Azure 提供了公有云的PAAS和IAAS 层面的业务,IAAS 层面包括操作系统和应用层面的构建,而PAAS 则是业务系统的构建,提供的应用入口则是我们业务直接进行交互的端口. 基于我们之前的基础架构完成,接下来我们来完善基于我们的PAAS WEB 网站的高可用.这次我们单纯的以静态的没有状态的静态页面做演示,我

Windows Azure 跨站点VPN-高可用基础功能!

前面的博客写了如何建立一个普通的应用的跨站点高可用,但是多数情况下我们的应用都是三层架构的应用,针对这些应用,我们的应用除了数据访问层之外,还有数据存储层,对于我们的应用来说,更重要的是数据存储.目前互联网时代多数企业都采用Linux 服务器作为基础应用的底层服务器.而多数的数据库采用MYSQL 作为后端的数据库,而且在大多数的应用场景下,我们的数据库都采用主从方式实现,这样跨数据中心的连通性就变得很重要.当我们的数据联通之后,我们的网络互通能够为后续的机器互通性打下一个坚实的基础. 怎么做呢?

Nginx+Keepalived实现站点高可用

Nginx+Keepalived实现站点高可用 Posted on 2015-05-18   |   In Linux, Nginx  |   15条评论 公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台虚拟机通过 Keepalived 工具来实现 nginx 的高可用(High Avaiability),达到一台nginx入口服务器宕机,另一台备机自动接管服务的效果.(nginx做反向代理,实现后端应用服务器的负载均衡)快速搭建请直接跳至 第2节. 1. Keepalived

基于Corosync和Pacemaker实现Web服务的高可用

Corosync+Pacemaker+iscsi+Httpd实现web服务的高可用 一.软件介绍 Corosync实现的是membership和可靠组通信协议 Pacemaker则基于Corosync/Linux-HA实现服务的管理 Corosync包括如下组件:   Totem  protocol   EVS   CPG   CFG   Quorum Extended Virtual  Synchrony算法(EVS)提供两个功能:   组成员列表的同步:   组消息的可靠组播. Pacema

站点高可用方案例子

Nginx+Keepalived实现站点高可用 http://seanlook.com/2015/05/18/nginx-keepalived-ha/ Linux 高可用(HA)集群之Keepalived详解 http://www.linuxidc.com/Linux/2013-08/89227.htm

基于heartbeat v1配置mysql和httpd的高可用双主模型

一.配置高可用集群的前提:(以两节点的heartbeat为例) ⑴时间必须保持同步 ⑵节点之间必须用名称互相通信 建议使用/etc/hosts,而不要用DNS 集群中使用的主机名为`uname -n`表示的主机名: ⑶ping node(仅偶数节点才需要) ⑷ssh密钥认证进行无障碍通信: 二.heartbeat v1的配置 程序主配置文件:ha.cf 认证密钥:authkeys, 其权限必须为组和其它无权访问: 资源配置文件:haresources /usr/share/doc/heartbe

基于heartbeat v1+ldirectord实现LVS集群高可用

前言 高可用集群,High Availability Cluster,简称HA Cluster,是指以减少服务中断时间为目的的服务器集群技术.通过上文可以看出,LVS集群本身并不能实现高可用,比如Director Server不能检测Real Server的健康度,一旦其中一台或全部Real Server宕机,Director Server还会继续转发请求,导致站点无法访问,同样,如果Director Server宕机站点就更不可能正常运转了.本文将讲解如何基于heartbeat v1实现LVS

linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实施linux集群架构,才能既有效保证网站健康运行,又能节省运维成本呢?下面依据近几年的运维经历,简单梳理下自己的一点感悟. (1)机房的选择如果有自己公司的机房那是再好不过的了:如果没有,建议放在BGP机房内托管,如果有选择的话,最好是选择带有硬件防火墙的机房,这样在安全方面也有保障:网站如若是放在

Heartbeat(基于crm)+NFS+Mysql实现mysql的高可用

1.环境准备 角色 IP VIP 192.168.42.160(提供服务的地址) Master eth0:192.168.42.163(本地管理IP) eth1:172.16.1.2/16(心跳线) Salve eth0:192.168.42.162(本地管理IP) eth1:172.16.1.3/16(心跳线) NFS 192.168.42.135 2.搭建NFS服务器 1.)安装nfs #yuminstall rpcbind nfs-utils –y #servicerpcbind star