【问题标题】:Service Fabric API gateway forwarding requests to microservices example required需要 Service Fabric API 网关将请求转发到微服务示例
【发布时间】:2015-12-27 22:38:21
【问题描述】:

我们正在 Azure Service Fabric 中对架构进行原型设计,其中我们有许多分区的有状态服务。这些服务实现了一个 Rest API。我们正在将 API 网关方法作为公共接口实现到我们的应用程序中。

Microsoft 在 Service Fabric Wordcount 示例代码中提供了这种方法的示例。此示例代码仅演示了转发 GET 请求和没有正文的 PUT 请求。

是否有任何示例代码演示了将 POST 和 PUT 请求(带有正文数据)从网关转发到有状态服务的最佳方法?

提前致谢。

【问题讨论】:

  • 您认为 GET/PUT 请求和 POST/PUT 请求有什么不同?

标签: azure gateway azure-service-fabric


【解决方案1】:

我们自己也实现了一个 HTTP 网关服务。为了确保我们可以为任何内部协议提供一个 HTTP 网关,我们使用 ASP.NET 5 中间件为基于 HTTP 的内部服务(如 ASP.NET WebAPI)实现了网关。它使用ServicePartitionClient 和来自CommunicationClientFactoryBase 的一些重试逻辑将请求从例如/service 路由到内部Service Fabric 地址,例如fabric:/myapp/myservice。

我们开源了这个中间件,你可以在这里找到它: https://github.com/c3-ls/ServiceFabric-HttpServiceGateway

项目的 wiki 中还有更多文档。

【讨论】:

    【解决方案2】:

    在 WordCount 示例中发现的服务间通信中唯一特定于 Service Fabric 的部分是使用 ServicePartitionClient 来解析分区的适当终结点 URI。之后,它在网关/客户端中使用标准HttpWebRequest,在有状态服务中使用标准 ASP.NET WebAPI。您可以使用两者的现有资源来查看如何扩展它以在请求正文中包含内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2020-04-20
      • 2019-04-29
      • 2017-06-12
      • 2016-04-07
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多