Service Fabric 反向代理 - 404 - FABRIC_E_SERVICE_DOES_NOT_EXIST
Posted
技术标签:
【中文标题】Service Fabric 反向代理 - 404 - FABRIC_E_SERVICE_DOES_NOT_EXIST【英文标题】:Service Fabric Reverse Proxy - 404 - FABRIC_E_SERVICE_DOES_NOT_EXIST 【发布时间】:2018-02-07 02:56:48 【问题描述】:是否有人在使用 ServiceFabricIntegrationOptions.UseUniqueServiceUrl 时遇到 Service Fabric 反向代理的间歇性问题 (404 - FABRIC_E_SERVICE_DOES_NOT_EXIST)。 该服务确实存在。 我们仔细检查了“外壳”。这不是外壳问题。 相同的请求将在某些节点上工作,但在其他节点上失败。
我们有一个在 Azure(版本 5.7.198.9494)中运行的 5 节点服务结构集群。我们有许多使用 ASP.NET Core 1.1 构建的无状态服务 (Web API),每个服务都在自己的应用程序中。
因为它们只能从集群内部访问,所以每个 Web API 服务只有 1 个实例,并且使用 Kestrel 作为主机服务器配置为“UseServiceFabricIntegration”和“ServiceFabricIntegrationOptions.UseUniqueServiceUrl”。为了简化发现,我们决定在与这些服务通信时利用反向代理。
在我们注意到反向代理日志 (ETW Microsoft-ServiceFabric:4:0x4000000000000020) 中出现间歇性 404 (FABRIC_E_SERVICE_DOES_NOT_EXIST) 之前,一切似乎都运行良好。经过一番调查,我们发现对反向代理的相同 HTTP 请求可以在某些节点上工作,但在其他节点上却不行。即:
-
在节点 1 上打开 RDP 会话;
打开 Powershell 并运行“wget http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?s=USD”;
结果:200(正常)
在节点 2 上重复步骤 1-2;
结果:404(未找到);
404 可能发生在 1、2 或 3 个节点上,而在另一个节点上成功
节点;
有时重新部署失败的无状态服务可以暂时解决问题。 重新启动“客户端”节点(不托管服务的节点)会使该节点的反向代理失败并显示 404。 在故障节点上运行 powershell 命令“Get-ServiceFabricApplicationName -ServiceName fabric:/CoreApi.Currency.Application/Currency.Web”将解决问题,直到重新启动节点。
有人遇到过这种问题吗?
“Vislor”于 2016 年 12 月 15 日对“https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy”发表的评论描述了一个非常相似的问题。
提前致谢。
更新 1: 这是不工作时(重启后)的日志摘录:
<Event MSec= "18564.7439" PID="3716" PName= "" TID="3788" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 False 586B @ qsize 0/0B " id="25752f187a0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="False" localContext="" messageSize="586" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "18564.9152" PID="3752" PName= "" TID="3604" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 False 1 586B NamingGateway:PrefixResolveServiceRequest caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0 " id="2a8e02c01b0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="False" dispatchCountForThisReceive="1" size="586" actor="NamingGateway" action="PrefixResolveServiceRequest" activityIdid="caf08066-5e0d-46a0-80de-bb83ea1a0fdd" activityIdindex="0"/>
<Event MSec= "18565.0640" PID="3752" PName= "" TID="3592" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 False 717B @ qsize 0/0B " id="2a8e03a8e70" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="False" localContext="" messageSize="717" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "18565.2792" PID="3208" PName= "" TID="6008" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 False 1 650B " id="2d5f393d360" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="False" dispatchCountForThisReceive="1" size="650"/>
<Event MSec= "18565.3366" PID="3208" PName= "" TID="9260" EventName="NamingGateway" ProviderName="Microsoft-ServiceFabric" FormattedMessage="caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0 Processing request, Action: PrefixResolveServiceRequest, RemainingTime 9,999ms " activityIdid="caf08066-5e0d-46a0-80de-bb83ea1a0fdd" activityIdindex="0" action="PrefixResolveServiceRequest" remainingTimetimespan="9,999"/>
<Event MSec= "18565.4133" PID="3208" PName= "" TID="9260" EventName="NamingGateway" ProviderName="Microsoft-ServiceFabric" FormattedMessage="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265+caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0]: prefix resolve from cache: fabric:/CoreApi.Currency.Application/Currency.Web " id="" type="PrefixResolveServiceAsyncOperation" text="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265+caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0]: prefix resolve from cache: fabric:/CoreApi.Currency.Application/Currency.Web"/>
<Event MSec= "18565.4395" PID="3208" PName= "" TID="9260" EventName="Common" ProviderName="Microsoft-ServiceFabric" FormattedMessage="fabric:/CoreApi.Currency.Application/Currency.Web " contextSequenceId="23,041" scheme="fabric" path="/CoreApi.Currency.Application/Currency.Web" querySeparator="" query="" fragmentSeparator="" fragment=""/>
<Event MSec= "18565.4408" PID="3208" PName= "" TID="9260" EventName="NamingGateway" ProviderName="Microsoft-ServiceFabric" FormattedMessage="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265+caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0]: fetching PSD from Naming: name=23,041 prefix=True " traceId="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265+caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0]" contextSequenceId_name="23,041" prefix="True"/>
<Event MSec= "18565.5921" PID="3208" PName= "" TID="9260" EventName="LeaseLayer" ProviderName="Microsoft-ServiceFabric" FormattedMessage="Get TTL for Leasing application 131,484,874,196,365,091 with request TTL 1,000 " a1="131,484,874,196,365,091" a2="1,000"/>
<Event MSec= "18565.6096" PID="3208" PName= "" TID="9260" EventName="LeaseAgent" ProviderName="Microsoft-ServiceFabric" FormattedMessage="d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265@10.51.2.8:1026 lease valid for 1,000ms " app="d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265" addr="10.51.2.8:1026" ms="1,000"/>
<Event MSec= "18565.6342" PID="3208" PName= "" TID="9260" EventName="P2P" ProviderName="Microsoft-ServiceFabric" FormattedMessage="d5bd7fb376fe0f815e01efab2c69b10e send message PrefixResolveRequest to -5,034,481,294,210,871,1187,182,030,848,336,970,117:131,484,109,128,799,478 id e223b95c-5da8-46fa-bf72-d3efd5d072a6:9,858 False (0) " id="PrefixResolveRequest" site="d5bd7fb376fe0f815e01efab2c69b10e" toid_omitZero_high="-5,034,481,294,210,871,118" toidlow="7,182,030,848,336,970,117" toinstance="131,484,109,128,799,478" msgIdid="e223b95c-5da8-46fa-bf72-d3efd5d072a6" msgIdindex="9,858" isReply="False" retry="0"/>
<Event MSec= "18565.6431" PID="3208" PName= "" TID="9260" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="e223b95c-5da8-46fa-bf72-d3efd5d072a6:9,858 False 990B @ qsize 0/0B " id="2d5d1a19a30" messageid="e223b95c-5da8-46fa-bf72-d3efd5d072a6" messageindex="9,858" isReply="False" localContext="" messageSize="990" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "18566.9032" PID="3208" PName= "" TID="6008" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="e223b95c-5da8-46fa-bf72-d3efd5d072a6:9,858 True 1 1,431B " id="2d5d1a19a30" messageid="e223b95c-5da8-46fa-bf72-d3efd5d072a6" messageindex="9,858" isReply="True" dispatchCountForThisReceive="1" size="1,431"/>
<Event MSec= "18566.9579" PID="3208" PName= "" TID="6008" EventName="P2P" ProviderName="Microsoft-ServiceFabric" FormattedMessage="d5bd7fb376fe0f815e01efab2c69b10e receive message RejectFault from -5,034,481,294,210,871,1187,182,030,848,336,970,117:131,484,109,128,799,478 id e223b95c-5da8-46fa-bf72-d3efd5d072a6:9,858 True (0) " id="RejectFault" site="d5bd7fb376fe0f815e01efab2c69b10e" fromid_omitZero_high="-5,034,481,294,210,871,118" fromidlow="7,182,030,848,336,970,117" frominstance="131,484,109,128,799,478" msgIdid="e223b95c-5da8-46fa-bf72-d3efd5d072a6" msgIdindex="9,858" isReply="True" retry="0"/>
<Event MSec= "18567.0017" PID="3208" PName= "" TID="6008" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 True 179B @ qsize 0/0B " id="2d5f393d360" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="True" localContext="" messageSize="179" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "18567.0703" PID="3208" PName= "" TID="6008" EventName="Routing" ProviderName="Microsoft-ServiceFabric" FormattedMessage="Routing of message e223b95c-5da8-46fa-bf72-d3efd5d072a6:9858(1) failed with FABRIC_E_SERVICE_DOES_NOT_EXIST " id="" type="Complete" text="Routing of message e223b95c-5da8-46fa-bf72-d3efd5d072a6:9858(1) failed with FABRIC_E_SERVICE_DOES_NOT_EXIST"/>
<Event MSec= "18567.0961" PID="3752" PName= "" TID="3604" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 True 1 179B " id="2a8e03a8e70" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="True" dispatchCountForThisReceive="1" size="179"/>
<Event MSec= "18567.1471" PID="3752" PName= "" TID="3592" EventName="EntreeServiceProxy" ProviderName="Microsoft-ServiceFabric" FormattedMessage="ProcessClientOperation for action 'PrefixResolveServiceRequest' encountered error FABRIC_E_SERVICE_DOES_NOT_EXIST. activity id = caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0 " id="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265]" type="EntreeServiceProxy.RequestProcessingFailed" text="ProcessClientOperation for action 'PrefixResolveServiceRequest' encountered error FABRIC_E_SERVICE_DOES_NOT_EXIST. activity id = caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0"/>
<Event MSec= "18567.1778" PID="3752" PName= "" TID="3592" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 True 181B @ qsize 0/0B " id="2a8e02c01b0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="True" localContext="" messageSize="181" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "18567.2904" PID="3716" PName= "" TID= "632" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:386 True 1 181B " id="25752f187a0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="386" isReply="True" dispatchCountForThisReceive="1" size="181"/>
<Event MSec= "18567.3439" PID="3716" PName= "" TID= "632" EventName="Client" ProviderName="Microsoft-ServiceFabric" FormattedMessage="caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0: gateway replied with error=FABRIC_E_SERVICE_DOES_NOT_EXIST " id="69361768-d4c7-440c-9d26-f6a9da5784f5" type="ClientConnectionManager" text="caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0: gateway replied with error=FABRIC_E_SERVICE_DOES_NOT_EXIST"/>
<Event MSec= "18567.3516" PID="3716" PName= "" TID= "632" EventName="Client" ProviderName="Microsoft-ServiceFabric" FormattedMessage="caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0: Prefix resolution failed: fabric:/CoreApi.Currency.Application/Currency.Web error = FABRIC_E_SERVICE_DOES_NOT_EXIST " id="" type="CacheManager.PrefixResolveServiceAsyncOperation" text="caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0: Prefix resolution failed: fabric:/CoreApi.Currency.Application/Currency.Web error = FABRIC_E_SERVICE_DOES_NOT_EXIST"/>
<Event MSec= "18567.3647" PID="3716" PName= "" TID= "632" EventName="Client" ProviderName="Microsoft-ServiceFabric" FormattedMessage="caf08066-5e0d-46a0-80de-bb83ea1a0fdd:0: error = FABRIC_E_SERVICE_DOES_NOT_EXIST " id="69361768-d4c7-440c-9d26-f6a9da5784f5" activityIdid="caf08066-5e0d-46a0-80de-bb83ea1a0fdd" activityIdindex="0" errorval="FABRIC_E_SERVICE_DOES_NOT_EXIST"/>
<Event MSec= "18567.3737" PID="3716" PName= "" TID= "632" EventName="ReverseProxy" ProviderName="Microsoft-ServiceFabric" FormattedMessage="caf08066-5e0d-46a0-80de-bb83ea1a0fdd Error while processing request, cannot forward to service: request url = http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?symbols=CADUSD, verb = GET, remote (client) address = ::1, request processing start time = 13:47:12.959333 (18,561.035 MSec), error = FABRIC_E_SERVICE_DOES_NOT_EXIST, message = , phase = ResolveServicePartition, " traceId="caf08066-5e0d-46a0-80de-bb83ea1a0fdd" requestUrl="http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?symbols=CADUSD" verb="GET" remoteAddress="::1" requestStartTime="13:47:12.959333 (18,561.035 MSec)" errorval="FABRIC_E_SERVICE_DOES_NOT_EXIST" errorMessage="" processRequestPhase="ResolveServicePartition" errorDetails=""/>
<Event MSec= "18567.3772" PID="3716" PName= "" TID= "632" EventName="ReverseProxy" ProviderName="Microsoft-ServiceFabric" FormattedMessage="caf08066-5e0d-46a0-80de-bb83ea1a0fdd Error while processing request, cannot forward to service: request url = http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?symbols=CADUSD, verb = GET, remote (client) address = ::1, request processing start time = 13:47:12.959333 (18,561.035 MSec), error = FABRIC_E_SERVICE_DOES_NOT_EXIST, message = , phase = ResolveServicePartition, " traceId="caf08066-5e0d-46a0-80de-bb83ea1a0fdd" requestUrl="http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?symbols=CADUSD" verb="GET" remoteAddress="::1" requestStartTime="13:47:12.959333 (18,561.035 MSec)" errorval="FABRIC_E_SERVICE_DOES_NOT_EXIST" errorMessage="" processRequestPhase="ResolveServicePartition" errorDetails=""/>
这是在第一次使用 ServicePartitionResolver(C#) 手动解析分区后从同一节点提取日志:
<Event MSec= "31146.3672" PID="3716" PName= "" TID="3724" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 False 586B @ qsize 0/0B " id="25752f187a0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="False" localContext="" messageSize="586" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "31146.5498" PID="3752" PName= "" TID="3604" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 False 1 586B NamingGateway:PrefixResolveServiceRequest ca94c2c8-b69e-4272-851b-ea6183f340dc:0 " id="2a8e02c01b0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="False" dispatchCountForThisReceive="1" size="586" actor="NamingGateway" action="PrefixResolveServiceRequest" activityIdid="ca94c2c8-b69e-4272-851b-ea6183f340dc" activityIdindex="0"/>
<Event MSec= "31146.7695" PID="3752" PName= "" TID= "512" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 False 717B @ qsize 0/0B " id="2a8e03a8e70" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="False" localContext="" messageSize="717" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "31146.9528" PID="3208" PName= "" TID="9260" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 False 1 650B " id="2d5f393d360" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="False" dispatchCountForThisReceive="1" size="650"/>
<Event MSec= "31147.0243" PID="3208" PName= "" TID= "924" EventName="NamingGateway" ProviderName="Microsoft-ServiceFabric" FormattedMessage="ca94c2c8-b69e-4272-851b-ea6183f340dc:0 Processing request, Action: PrefixResolveServiceRequest, RemainingTime 9,999ms " activityIdid="ca94c2c8-b69e-4272-851b-ea6183f340dc" activityIdindex="0" action="PrefixResolveServiceRequest" remainingTimetimespan="9,999"/>
<Event MSec= "31147.0999" PID="3208" PName= "" TID= "924" EventName="NamingGateway" ProviderName="Microsoft-ServiceFabric" FormattedMessage="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265+ca94c2c8-b69e-4272-851b-ea6183f340dc:0]: prefix resolve from cache: fabric:/CoreApi.Currency.Application/Currency.Web " id="" type="PrefixResolveServiceAsyncOperation" text="[d5bd7fb376fe0f815e01efab2c69b10e:131484874195545265+ca94c2c8-b69e-4272-851b-ea6183f340dc:0]: prefix resolve from cache: fabric:/CoreApi.Currency.Application/Currency.Web"/>
<Event MSec= "31147.1977" PID="3208" PName= "" TID= "924" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 True 1,271B @ qsize 0/0B " id="2d5f393d360" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="True" localContext="" messageSize="1,271" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "31147.5547" PID="3752" PName= "" TID="3604" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 True 1 1,271B " id="2a8e03a8e70" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="True" dispatchCountForThisReceive="1" size="1,271"/>
<Event MSec= "31147.6057" PID="3752" PName= "" TID= "512" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 True 1,307B @ qsize 0/0B " id="2a8e02c01b0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="True" localContext="" messageSize="1,307" messagesToSend="0" bytesToSend="0"/>
<Event MSec= "31147.7000" PID="3716" PName= "" TID="3596" EventName="Transport" ProviderName="Microsoft-ServiceFabric" FormattedMessage="b7e15d5b-5674-43c8-9388-67e011d53e60:417 True 1 1,307B " id="25752f187a0" messageid="b7e15d5b-5674-43c8-9388-67e011d53e60" messageindex="417" isReply="True" dispatchCountForThisReceive="1" size="1,307"/>
<Event MSec= "31147.8414" PID="3716" PName= "" TID= "632" EventName="Client" ProviderName="Microsoft-ServiceFabric" FormattedMessage="ca94c2c8-b69e-4272-851b-ea6183f340dc:0: updated prefix cache: fabric:/CoreApi.Currency.Application/Currency.Web : fabric:/CoreApi.Currency.Application/Currency.Web ():Fintech.CoreApi.Currency.ApplicationType_App57:Fintech.CoreApi.Currency.WebPkg:Fintech.CoreApi.Currency.WebType@fabric:/CoreApi.Currency.Application [SharedProcess] (1.0:1.0:131480539341800141) [1]/1/1 131480539360365465:0 () 0 () 0 () false : (1, 541) (cc0b3c60-d84d-4553-83c4-b88e578f5f47) - [0,0] () " id="" type="CacheManager.PrefixResolveServiceAsyncOperation" text="ca94c2c8-b69e-4272-851b-ea6183f340dc:0: updated prefix cache: fabric:/CoreApi.Currency.Application/Currency.Web : fabric:/CoreApi.Currency.Application/Currency.Web ():Fintech.CoreApi.Currency.ApplicationType_App57:Fintech.CoreApi.Currency.WebPkg:Fintech.CoreApi.Currency.WebType@fabric:/CoreApi.Currency.Application [SharedProcess] (1.0:1.0:131480539341800141) [1]/1/1 131480539360365465:0 () 0 () 0 () false : (1, 541) (cc0b3c60-d84d-4553-83c4-b88e578f5f47) - [0,0] ()"/>
<Event MSec= "31147.8951" PID="3716" PName= "" TID= "632" EventName="ReverseProxy" ProviderName="Microsoft-ServiceFabric" FormattedMessage="ca94c2c8-b69e-4272-851b-ea6183f340dc Request url = http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?symbols=CADUSD, verb = GET, remote (client) address = ::1, resolved service url = http://10.51.2.7:50080/cc0b3c60-d84d-4553-83c4-b88e578f5f47/131484872201597609/?symbols=CADUSD, request processing start time = 13:56:07.667608 (31,144.850 MSec) " traceId="ca94c2c8-b69e-4272-851b-ea6183f340dc" requestUrl="http://localhost:19081/CoreApi.Currency.Application/Currency.Web/?symbols=CADUSD" verb="GET" remoteAddress="::1" resolvedServiceUrl="http://10.51.2.7:50080/cc0b3c60-d84d-4553-83c4-b88e578f5f47/131484872201597609/?symbols=CADUSD" requestStartTime="13:56:07.667608 (31,144.850 MSec)"/>
更新 2: 在 github.com/Azure/service-fabric-issues/issues/429 上打开了一个带有重现步骤的问题
【问题讨论】:
我很久以前就遇到过类似的问题(如果我没记错的话)。当我的分区无状态服务部署为 Singleton 时,我遇到了这个问题。 【参考方案1】:在将 Service Fabric 升级到 6.0.219.9494 后,我遇到了完全相同的问题 5.7.198.9494,现在问题已为我解决。
感谢 Mark 在 github 中提出 bug - 问题已解决。
所以,本质上:
Service Fabric Explorer 报告没有错误/警告 404 FABRIC_E_SERVICE_DOES_NOT_EXIST 错误仅发生在某些节点上(在我的场景中,4/5 个节点工作正常)。 此 HTTP 错误是由 Service Fabric 反向代理服务中的 bug 引起的 解决。 Microsoft 已在 6.0 CU1 中修复此问题。截至今天,当前可用的最新版本是 6.0.219.9494 - 迄今为止的问题 对我来说似乎是固定的。
【讨论】:
以上是关于Service Fabric 反向代理 - 404 - FABRIC_E_SERVICE_DOES_NOT_EXIST的主要内容,如果未能解决你的问题,请参考以下文章
csharp WebApi ActionFilter与Service Fabric反向代理或ServiceFabric.AutoRest结合使用,以指示RESTfull 404响应。