Service Fabric API网关将请求转发到微服务示例所需

时间:2015-09-30 08:11:28

标签: azure gateway azure-service-fabric

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

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

项目的wiki中还有一些文档。

答案 1 :(得分:0)

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