如何让两个微服务在 azure service fabric 中监听同一个端口
How to make two microservices listen on same port in azure service fabric
我创建了一个包含两个微服务的项目,并希望它们都监听同一个端口。
我有两个单独的 ServiceManifest 文件,我在其中为它们定义了相同的端点,但是当我在本地或远程部署它时它不起作用。
当我在本地部署它时,它显示以下异常:
抛出异常:'System.Reflection.TargetInvocationException' in mscorlib.dll
根据您使用的通信堆栈,您有几种选择。
如果基于 HTTP 的 Web API - 您可以为服务使用反向代理和动态端口分配:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy
如果使用远程服务 - 只需使用动态端口。
对于与集群的外部通信 - taka 看这里:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy#special-handling-for-port-sharing-services
保持 "port number same in ServiceManifest.xml file for both the Microservices."
只需针对不同的服务使URL不同
例如 localhost:8100/service1/....
localhost:8100/service2/....
"Different appRoot for different services"
我创建了一个包含两个微服务的项目,并希望它们都监听同一个端口。 我有两个单独的 ServiceManifest 文件,我在其中为它们定义了相同的端点,但是当我在本地或远程部署它时它不起作用。
当我在本地部署它时,它显示以下异常: 抛出异常:'System.Reflection.TargetInvocationException' in mscorlib.dll
根据您使用的通信堆栈,您有几种选择。
如果基于 HTTP 的 Web API - 您可以为服务使用反向代理和动态端口分配:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy
如果使用远程服务 - 只需使用动态端口。
对于与集群的外部通信 - taka 看这里:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy#special-handling-for-port-sharing-services
保持 "port number same in ServiceManifest.xml file for both the Microservices."
只需针对不同的服务使URL不同
例如 localhost:8100/service1/....
localhost:8100/service2/....
"Different appRoot for different services"