【问题标题】:.NET Core API Gateway [closed].NET Core API 网关 [关闭]
【发布时间】:2017-06-09 00:32:18
【问题描述】:

我有一些关于微服务的学校工作要做。

我有架构概念,但需要一个实现来炫耀。我将使用 angular2 作为客户端,想使用 .NET 核心 API 网关将我的请求分派给不同的服务。

最好的方法是什么?我对使用 Rx.Net 提出了一些建议,但没有可以遵循的明确示例或实现。

那么我应该怎么做才能在 .NET Core 中实现 API 网关?

【问题讨论】:

  • 不要询问有关堆栈溢出的库建议。 link
  • 我会编辑的,谢谢!
  • 我们在谈论什么样的 API? HTTP?
  • 是的,我正在考虑对网关进行 HTTP 调用,这会将它们分派到正确的服务。

标签: c# api .net-core microservices gateway


【解决方案1】:

这可能有帮助,也可能没有帮助,但我目前正在 .NET 核心中构建 API 网关。

你可以在https://github.com/TomPallister/Ocelot找到它。

代码有点复杂,但现在有一些人正在处理它,所以希望我们可以随着时间的推移对其进行改进。

【讨论】:

  • 很高兴你能回答。但是这个问题对于 StackOverflow 来说是题外话,就像Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam.
  • 我一直在尝试使用 Ocelot,但我无法让它工作 :( 我创建了一个新项目,我更新了所有库,安装了 Ocelot,配置了 ReRoutes,但是当我运行它时,它只是加载
【解决方案2】:

您希望有一个服务器来监听传入的 API 调用,例如一个 HttpListener。

在传入请求的处理程序中,您可以查看请求并决定 API 调用需要中继的位置。

然后您使用 HttpClient 之类的东西向实际 API 端点发出另一个请求(尽可能模仿原始请求)并将其响应转发回用户。

应该都在listener的request handler中,对原始请求的响应就是来自真实API的响应。

请参阅 HttpListener 上的 MSDN 文档。

也不错:Handling multiple requests with C# HttpListener

【讨论】:

  • HttpListeners 是在 .NET Core 上实现的,因为它仅适用于 windows。
猜你喜欢
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多