gpt4 book ai didi

azure - 适用于本地 Azure Service Fabric 群集的负载均衡器

转载 作者:行者123 更新时间:2023-12-04 04:24:26 25 4
gpt4 key购买 nike

作为开发人员,我们在 Azure Service Fabric 上编写微服务,并且可以为许多客户以某种 PaaS 概念在 Azure 中运行它们。但我们的一些客户不想在云中运行,因为数据库位于本地,无法从外部访问,甚至无法通过 DMZ 访问。没关系,我们 promise 支持它,因为 Azure Service Fabric 可以作为本地集群安装。

我们在每个虚拟机上的集群内部运行一个 API 网关微服务,它使用名称解析器,并相应地路由和分发请求,但是 API 网关微服务提供的 API 是另一个客户端的入口我们的客户使用的软件,该软件在集群外部运行,并且必须向 API 发送请求。

我建议在一台或多台单独的机器上使用负载均衡器,例如 HA-Proxy 或 Nginx,客户端软件将请求发送到其中,然后反向代理会将其转发到集群内的可用机器。

这似乎不是我们的客户想要的,另一台机器作为负载平衡器不是一个选择。他们建议:让客户端软件更智能地确定要访问哪个主机,换句话说:我们应该在客户端软件中编写自己的故障转移/负载平衡器。

我们还有什么其他选择?

PS:客户端应用程序每秒不会发送很多请求,也许每分钟会发送一些请求。

最佳答案

非常相似的问题,我们有许多在本地运行的服务和 Service Fabric 集群。当需要使用负载平衡器时,我们在运行 Service Fabric 群集的同一台计算机上安装 IIS。由于 IIS 是一个很好的负载均衡器,我们仅使用 IIS 作为 API 网关的反向代理。 Kestrel 托管用于通过 HTTP 通信的其他服务。 API 网关微服务是所有客户端的单一入口点,并且始终在 SF 内具有静态 URI,我们使用该 URI 来配置 IIS

如果您无法使用 IIS,请查看 Using nginx as HTTP load balancer

关于azure - 适用于本地 Azure Service Fabric 群集的负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42933420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com