首页 文章

如何内部负载 balancer Azure中的多个Web /辅助角色实例?

提问于
浏览
1

在Azure中,我有一个公开的webrole和2个只能在专用网络中访问的workerrole . 现在我想在内部对workerroles进行负载均衡,所以我为workerroles设置了一个内部 endpoints ,但是我应该用什么地址与worker进行通信,它不能是内部IP地址,因为它特定于某个特定实例而且不会没有经过负载均衡器吗?

多谢!

4 回答

  • 0

    Windows Azure中没有内部负载均衡器 . 唯一的负载均衡器是具有公共IP地址的负载均衡器 .

    如果要仅对内部地址(工作人员)进行负载 balancer ,则必须自行维护 . 这意味着您必须在Azure VM上安装某种负载均衡器,Azure VM是同一VNet的一部分 . 您可以选择该负载均衡器(Windows或Linux) . 并且您必须在拓扑更改时实施监视程序服务 - 即工作程序正在被回收,硬件故障,扩展事件 . 除非绝对必要,否则我不会推荐这种方法 .

    最后一个选项是拥有所有工作人员的(缓存)IP Endpints池,并在需要时随机选择一个 .

  • 1

    基于Azure的内部负载均衡器(ILB)自2014年5月20日星期二起可用 .

    http://azure.microsoft.com/blog/2014/05/20/internal-load-balancing/

    可用于SQL AlwaysON部署和发布以及只能从VNET访问的内部 endpoints (即不可公共路由) .

    注意:搜索ILB帮助并发现此线程 . 认为值得更新,如果不让我知道,我会删除 .

  • 0

    您可以使用 Application Request RoutingWebRole 的IIS配置为 Reverse Proxy ,然后使用所选算法将其配置为负载 balancer 请求 .

    最简单的方法是修改 WebRole.cs 以获取 WorkerRole 的(内部) endpoints 列表,然后以编程方式添加它(参见示例here) .

    或者,您可以使用Startup-Script调用 appcmd 以获得相同的结果 .

    最后,您必须更改客户端设置以将请求指向(代理的)IIS endpoints 而不是常规的WorkerRole endpoints .

  • 1

    请注意,Azure现在支持内部负载 balancer (ILB) .

    http://azure.microsoft.com/blog/2014/05/20/internal-load-balancing

相关问题