首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为微服务设置Azure负载平衡?

如何为微服务设置Azure负载平衡?
EN

Stack Overflow用户
提问于 2016-07-22 16:18:33
回答 2查看 1K关注 0票数 2

我们有一个在Azure VM上托管的API微服务基础设施。每个VM将托管几个API,这些API是在Kestrel上运行的独立站点。所有外部通信通过RP (在IIS上运行)进入。

我们有一些API是为接受外部请求而设计的,还有一些是仅用于内部API的。

内部API托管在标度集中,每个scaleset VM都是托管所有内部API的副本。在标尺前面有一个内部负载均衡器(ILB)/vip。根本的问题是,我们有内部API,它们调用托管在同一标尺上的其他内部API。理想情况下,这些呼叫将转到VIP (使用内部DNS)和VIP将路由到刻度集中的机器之一。但是看起来Azure不允许this...per提供文档:

代码语言:javascript
复制
You cannot access the ILB VIP from the same Virtual Machines that are being load-balanced

那么人们是如何用微型服务来建立这种关系的呢?我可以看到三种方式,其中没有一个是理想的:

  1. 将API分离到不同的标度集。不太理想,因为这些服务非常轻量级,我不想将Azure VM的费用增加三倍。
  2. 将内部LB转换为外部LB (添加公共IP地址)。然后将该LB放在它自己的网络安全组/子网中,以便只允许来自Azure IP范围的调用。我希望这里有更多的延迟,并且以任何方式向外部公开端点会产生更多的攻击表面积以及更多的配置复杂性。
  3. 如果VM需要调用ILB...meaning,则设置VM回送--来自VM的任何请求都将由同一个VM处理。这违背了VIP背后微型服务的目的。由于某种原因,内部微服务可能会在同一台机器上停机,并且可以在another...thats上使用。我们为每个服务分别在ILB上设置了健康探测。如果它回到同一台机器上,你就会失去弹性。

任何关于其他人是如何处理这一问题的建议都将不胜感激。

谢谢!

EN

Stack Overflow用户

发布于 2016-07-27 14:58:28

我认为您的问题与服务发现有关。

显然,负载平衡器不是为此而设计的。您应该考虑一些专用软件,比如尤里卡 (它可以在AWS之外工作)。服务发现使您的微服务在被发现后直接相互调用。

还请看一下客户端负载平衡工具,如丝带

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38531170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档