1

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

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

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

提前致谢。

4

2 回答 2

1

我们自己也实现了一个 HTTP 网关服务。为了确保我们可以为任何内部协议提供一个 HTTP 网关,我们使用 ASP.NET 5 中间件为基于 HTTP 的内部服务(如 ASP.NET WebAPI)实现了网关。它通过使用ServicePartitionClient和一些来自CommunicationClientFactoryBase.

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

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

于 2016-01-04T13:58:02.863 回答
0

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

于 2015-09-30T15:25:30.110 回答