码迷,mamicode.com
首页 > 其他好文 > 详细

Azure内部负载平衡器

时间:2015-07-29 06:50:59      阅读:634      评论:0      收藏:0      [点我收藏+]

标签:azure nlb ilb 内部负载平衡器

负载平衡是云计算服务中的一个必备服务项目,通常用来对负载平衡后端的计算实例(虚拟机)或应用程序进行外部访问请求的负载,以缓解处理压力并提供容错能力。在微软的私有云产品体系中,System Center的VMM组件具备创建windows系统原生NLB以及兼容第三方软硬负载平衡器的能力(比如F5),但是个人认为目前使用还是不便的,特别是在租户端。反观Azure公有云平台上,云服务功能肩负起了NLB的作用,除此之外Azure还提供了一个“内部负载平衡”功能,即对于外部NLB后面的应用或数据层继续进行负载均衡配置,同时避免暴露在外网以达到安全要求,如下图所示:

技术分享

要在Azure实现内部负载平衡功能需要通过PowerShell方式实现,下图为我的测试环境,有若干台虚拟机,该应用分为三层,最外层使用云服务NLB接受用户访问,中间层需要进行外部用户数据写入的处理,因此需要内部NLB来继续实现负载均衡的作用,最后端是一个DB做数据持久化。

技术分享

首先我做了几步针对整套应用所需的配置工作,例如下图给云服务指定了保留IP。

技术分享

按功能对不同层的应用服务器进行可用性集划分,已充分利用Azure平台的容错能力,此外对前两层计算实例进行缩放配置,很遗憾的是该应用用于存储消息队列数据没有保存在Azure Queue里,所以无法根据Queue来触发scale-out选项,只能退而求其次根据CPU阀值进行设置了。

技术分享

下图中是根据不同应用服务器进行虚拟网络的静态IP配置,避免因维护重启产生IP地址变动。

技术分享

#####################################################################

针对内部负载平衡器,大家可以参考msdn上的guide,这里我将其写入脚本文件比较好辨别,大致分为几部分:

  1. 创建内部负载平衡实例

  2. 把相应的端点(例如VM)加入到该实例中

最后把服务请求指向新生成的负载平衡器IP就可以了,这里有个tips,我记得好像官方说明中在创建内部负载平衡器实例时没要求加“-lbsetname”这个字段,但在执行过程中该字段是必须的,如下图:

技术分享

配置成功之后可以get到这个内部负载平衡器的相关信息(internalloadbalancername),如下图:

技术分享

同时可以通过powershell查看ILB(内部负载平衡器)里面的member和发布的端口,如下图:

技术分享

Azure的ILB功能使得负载平衡服务更加完善,在互联网微服务的大趋势下,应用的架构设计会更加细腻,不同功能之间强调松耦合,可扩展,这就给负载平衡技术以更大的发挥空间,同时ILB在安全方面也有它的优势,目前SDN技术日趋标准化,就等着NFV大放异彩,希望微软能在私有云领域更加完善自己的NFV功能,早日看齐openstack

本文出自 “技术不宅” 博客,请务必保留此出处http://maomaostyle.blog.51cto.com/2220531/1679161

Azure内部负载平衡器

标签:azure nlb ilb 内部负载平衡器

原文地址:http://maomaostyle.blog.51cto.com/2220531/1679161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!