K/3 Cloud负载均衡配置
ARR简介
基于对NLB测试的结果,无法满足负载均衡的要求,微软的ARR方案在实现K/3 Cloud产品负载均衡以及横向扩展能力方面比较优秀,所以我们在本方案一起来看一下如何通过ARR实现K/3 Cloud产品负载均衡。
ARR简单的说就是一个IIS7的负载均衡模块,可以一次管理多个IIS 6/7的服务器集群,规则基于URL,或者基于HOST NAME,或者基于HTTP HEADER。微软的Application Request Routing(ARR) 2.5使得Web管理员,虚拟主机提供商,内容分发网络(CDN)通过基于规则路由,机器名匹配,HTTP请求的负载均衡和分布式磁盘缓存来提高Web应用程序的可扩展性和可靠性。有了ARR技术,管理员可以优化资源以及应用服务器的管理成本。
负载均衡可以有效的提高资源的利用率:使用ARR,管理员可以创建强大的基于规则的URL,HTTP HEADERS 变量,并决定最合适的WEB应用服务器。ARR在应用层进行路由选择,并可以在其上加上BIG IP 5这类硬件负载均衡器或者是Windows 负载均衡技术,进行三层架构路由。
使用标准的IIS MANAGER更容易管理多个WEB FARMS:ARR给予管理员,创建、管理、应用LOAD BALANCING(负载均衡)规则的能力,管理员可以需求轻松地添加一个服务器到WEB FARMS里去,ARR同时包含了对每台单独的服务器实时流量、URL测试的监视能力。管理员这时有能力在IIS 7的MANAGER中查看WEB FARMS中每个服务器的统计信息。
优化带宽的使用和通过缓存扩展服务器的能力:ARR可以在磁盘上缓存任何经过服务器的HTTP通信。通过结合磁盘缓存连同层次化的IIS网站运行ARR的IIS web服务器,CDN和层次化服务器的能力可以大大降低到达源服务器的网络流量。
具体ARR方面的介绍可访问微软的官方网站获取最新资讯。
ARR介绍:http://www.iis.net/expand/ApplicationRequestRouting
系统要求
支持的操作系统:Windows Server 2008, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard, Windows Vista, Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Premium
必须安装 Internet Information Services 7.0
部署图
通过在服务器上部署ARR,可以实现Cloud的负载均衡。保证高效接入。
目前新升级的部署方案,建议使用HAproxy
HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。
包括 GitHub、Bitbucket[3]、Stack Overflow[4]、Reddit、Tumblr、Twitter[5][6]和 Tuenti[7]在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。
其中,金蝶云就是采用了Haproxy的负载,目前已经实现了8000家客户的稳定负载。
推荐阅读