在Azure Service Fabric无状态服务上连接NServiceBus网关

时间:2017-01-10 23:21:55

标签: azure nservicebus azure-service-fabric

我们在尝试设置网关时遇到了困难。我可以让它在本地运行良好,类似于你提供的文档,但是一旦我需要更改本地主机地址,事情就会开始崩溃。

我们的第一个端点在Windows服务(外部服务)上运行,我们的另一个端点在Azure Service Fabric上运行,特别是在运行Web API的无状态服务中。我们通过远程代理访问服务,远程代理是从外部服务结构联系服务结构内的服务所必需的。这工作正常,因为我能够通过反向代理端口访问我的Web API控制器和操作,但我一直为网关通道获取504网关超时。

在我的外部服务中,我定义了一个地址为

的网站

http://clustername.azure.com:19008/MyApp/MyApiService/FCS.Fueling/

在我的Azure Service Fabric Web API无状态服务中,通道设置为地址

http://clustername.azure.com:8424/MyApp/MyApiService/FCS.Fueling/

19008是反向代理端口。如果我导航到http://clustername.azure.com:19008/MyApp/MyApiService/api/values 返回值并且服务正常运行。

8424是服务结构内部API的端口。我也尝试过19008的传入频道,但没有用。

FCS.Fueling只是我指定的通道端点。在localhost中,两个端点都在http://localhost:25000/FCS.Fueling工作,在我的服务结构和外部服务之间成功收到了消息。

我尝试了各种localhost组合,删除了FCS.Fueling位,不同的端口我不断获得504网关超时。

1 个答案:

答案 0 :(得分:1)

使用reverse proxy与SF内的服务对话是可选的(但很有用)。它通过路由请求抽象出不同的服务端点。

  • 检查是否存在负载平衡规则和健康状况调查 端点。
  • 启用LB诊断以查看运行状况探测是否报告正常 状态。
  • 验证服务是否配置了公开的端点 更正了固定Port和http UriScheme