windows NLB+ARR实现Web负载均衡高可用/可伸缩

 

基于IIS的ARR负载均衡

基于NLB负载均衡

这两篇分别分ARR 和 NLB基本配置,下面我们讲讲,如何组合使用,搭配成高可用/可伸缩集群。

什么是高可用,可伸缩 ?

高可用:是指系统经过专门设计减少停工时间,保持服务高度可用。正常工作时间/单位时间(一般一年),比率达99.99%以上,也就是停工一小时。可以算高可用。

可伸缩:是指增加或减少硬件实现软件性能上的加大或减少的难易程度。

ARR集群不用担心,因为自身就有健康检查,如果子服务器有异常的话,反向代理不会将流量转化到相应的服务器上。

现在比较担心一个问题,如果代理服务器发生异常怎么办?代理服务器负责转化请求每日处理量极大,不排除发生故障的可能。ARR服务器容易发生单点故障,因此整ARR部署并不具有高可用性。

子服务器的数量其实受限于ARR服务器转发能力,也是就说可扩展性受限。

如何解决ARR单点故障实现高可用 ?

首先我们搭建两个ARR服务器。

192.168.99.8
192.168.99.10

在这两台服务器上面分别安装NLB,搭配NLB负载均衡。

注意主机优先级,目前设置为192.168.99.8为优先处理的服务器。

集群端口规则设置80端口。

设置为单一主机

也就说,两台ARR,只有一台在工作,也就是192.168.99.8,别一台192.168.99.10为故障转移服务器。部署完毕。

有人问,部署两个,应用上会不会冲突?

其实不会的,ARR是应用的第七层上,NLB是应用在第三层,IP层。也就是说,NLB处理完之后,才会转入到ARR进行处理。

 整体架构图

妈蛋,我还没有画好图,就把visio关了,右边的ARR服务器,应该右边移,线与线对应。看着老不爽了

展示效果

一共每秒150次请求。

三台内容服务器请求量总数为每秒150次。吻合。

ARR工作量,192.168.99.8正常工作,192.168.99.10备用。吻合

192.168.99.8 每秒请求150。吻合。

下面测试故障转移,突然关掉192.168.99.8,大概接近半分钟的时候,请求就转移到192.168.99.10来了。我们可以明显看到接近3000条请求失败。

测试达到预期效果,吻合。

如何解决ARR可伸缩性 ?

上面示例,如何搭建高可用。但是内容服务器依然受限于,ARR服务器转化能力。如何突破受限于一台服务器的转化能力转为多台ARR服务器共同处理这个转化,则就能实现内容服务器的可伸缩性。

答案非常简单。我们只需把NLB服务器集群,端口规则更改为

刚将两个ARR服务器同时激活,承受能力将增倍,可扩展更多的内容服务器。

为了安全起见,二台ARR应该增加到三台,如果有一个宕机,流量转接过来,可以保证余下两台ARR服务器在能力承受范围之内。随机服务器增多,依此类推。

windows WEB 高可用/可伸缩的更多相关文章

  1. windows NLB+ARR实现Web负载均衡高可用/可伸缩

    基于IIS的ARR负载均衡 基于NLB负载均衡 这两篇分别分ARR 和 NLB基本配置,下面我们讲讲,如何组合使用,搭配成高可用/可伸缩集群. 什么是高可用,可伸缩 ? 高可用:是指系统经过专门设计减 ...

  2. Linux配置浮动IP实现WEB高可用

    在高可用集群环境中,一般都需要使用浮动IP来实现web高可用(High Availability). 浮动IP的概念以及为什么需要浮动IP请参考:浮动IP(FLOAT IP) 本篇文章主要讲实际操作步 ...

  3. Corosync+Pacemaker+crmsh构建Web高可用集群

    一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...

  4. RHCS配置web高可用集群

    基本条件三台主机 10.37.129.5 web1.xzdz.hk web1 10.37.129.6 web2.xzdz.hk web2 10.37.129.4 luci.xzdz.hk luci 其 ...

  5. 创建简单WEB高可用集群

    1. 环境介绍 我这里弄了2个虚拟机,信息如下: node1:192.168.168.201 node2:192.168.168.202 2.配置主机名 [root@node1 ~]# vim /et ...

  6. 高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)

            LVS(负载均衡器).Heartbeat.Corosync.Pacemaker.Web高可用集群.MySQL高可用集群.DRDB.iscsi.gfs2.cLVM等,唯一没有讲解的就是L ...

  7. Linux 高可用(HA)集群之keepalived详解

    http://freeloda.blog.51cto.com/2033581/1280962 大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用 ...

  8. Linux下"负载均衡+高可用"集群的考虑点 以及 高可用方案说明(Keepalive/Heartbeat)

    当下Linux运维技术越来越受到企业的关注和追捧, 在某些企业, 尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案.那么如何实施Llinux集群架构,才能既有效 ...

  9. linux系统集群之高可用(一)HA

    HA(High aviliable)高可用 高可用的需求 在很多公司里面,都会存在着一些不愿被中断的业务,但是由于硬件故障,软件故障,人为因素等各种因素,往往会不经意的造成我们重要的业务中断,因此高可 ...

随机推荐

  1. VS导出方法名和方法备注的方法

    VS导出方法名和方法备注的方法 方法一: 只能导出图片格式的UML 类图 1.点击查看类图 2.在空白处点击讲关系导出为图像 方法二: 是把整个类库的方法名都罗列出来 这个方便整理一些 具体方法如下 ...

  2. 《剑指offer》变态跳台阶

    一.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.输入描述 n级台阶 三.输出描述 一共有多少种不同的跳法 四.牛客网提 ...

  3. c# window服务-初学习

    window服务-初学习 一.工具: VS2015+NET Framework4.5. 二.操作: 1.新建windows服务的项目: 2.修改windows服务相关内容: 3.预览windows服务 ...

  4. 使用物化视图解决GoldenGate不能使用中文表名问题

    源端: conn sh/sh create table "学生" ("学号" number primary key,"姓名" varchar ...

  5. 部分vivo和oppo手机,使用上传图片功能,可能会出现退出webview的现象(回退到app的入口页面)

    在公司的app里面嵌入了一个h5页面,h5页面有个使用图片上传功能,上传图片出现闪退的现象 问题描述:vivo手机,在app内的wap页面使用上传图片的功能,在选择好图片点击确认按钮后,出现退出整个w ...

  6. WebService通讯技术的CXF框架问题

    WebService通讯技术的CXF框架问题 严重: Servlet /cxf_rs_spring threw load() exception java.lang.ClassCastExceptio ...

  7. updatedb---创建或更新slocate命令所必需的数据库文件

    updatedb命令用来创建或更新slocate命令所必需的数据库文件.updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入slocate数据库文件中. 补 ...

  8. 【转】黄聪:HtmlAgilityPack教程案例

    [转]黄聪:HtmlAgilityPack教程案例 HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 publ ...

  9. C语言typedef struct具体解释

    在C中定义一个结构体要用typedef,如: typedef struct Student { int a; }Stu; 于是在声明变量的时候就能够:Stu stu1;(假设没有typedef就必须用 ...

  10. hdu 4324 Triangle LOVE(拓扑判环)

    Triangle LOVE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...