在.net中的同一进程中托管多个Web API

问题描述 投票:0回答:1

我们有一个微服务架构,每个微服务当前都托管在自己的进程中,并通过自己的 docker 镜像进行部署。课本完全分开。 在源级别,所有服务都维护在同一个 git 存储库和同一个解决方案中。 然而,我们和许多其他人一样面临着同样的问题,即严格的隔离。详细说明请参见论文“迈向云应用的现代发展”[1]。

如何“合并”.net 中现有的服务并让它们在同一个托管进程中运行?最终,我们希望保留当前的服务端点,例如:

  • example.com/myservice1
  • example.com/myservice2
  • example.com/myservice3

所有服务都在同一端口上运行,但每个服务都有自己的 swagger UI?例如:

  • example.com/myservice1/index.html
  • example.com/myservice2/index.html
  • example.com/myservice3/index.html

上述问题的背景:.net 6 和 web api...

[1] https://pages.cs.wisc.edu/~rgrandl/papers/ms.pdf

.net asp.net-core-webapi asp.net-web-api-routing
1个回答
0
投票

您将需要使用第 7 层负载均衡器或代理来实现此目的并路由流量。

有很多方法可以做到这一点,要么是托管服务,如 Azure Front Door、Docker 容器中的 nginx,要么是软件级别,如 YARP Proxy

© www.soinside.com 2019 - 2024. All rights reserved.