我有ASP.NET Core API,它应该只在Azure Service Fabric内部可见。当我遵循recommendation时,我会使用Kestrel来托管应用程序,并让Azure Service Fabric动态分配端口。
如何发现ASP.NET Core Web应用程序内部的服务以及首选方法是什么? DNS service,命名服务或Reverse proxy?
在提供的示例中,在Service Fabric中运行aspnet core api意味着拥有可靠的服务,并从中公开KestrelCommunicationListener。所以你只是在服务中托管aspnetcore。 (其他示例here)通常您不从控制器内部访问托管服务。
KestrelCommunicationListener
您可能希望从控制器访问不同的无状态服务,在这种情况下,您可以使用SF remoting以获得最小的开销。
或者,如果您必须访问在集群内运行的其他aspnet核心API,则通过使用基于DNS的方法找到该API的简单方法。
注意:在这种情况下不要使用反向代理,因为它会将所有基于http的端点暴露给外部世界。