.net - 为 ASP.NET API 微服务实现 API 网关

标签 .net asp.net-web-api asp.net-core microservices api-gateway

我使用 ASP.NET Core WEB API 开发了我的微服务。我仍在计划和研究这一步,添加一个 API 网关,它可以充当代理并将客户端请求路由到指定的服务(只是为了隔离和防止客户端直接调用服务)。网关还将执行日志记录和安全检查。

我暂时不需要任何发现机制(但如果有一个我可以利用的平台那就太好了)。

出于约束目的,假设我的微服务托管在静态 IP 上。

就创建自己的 API 网关而言,我需要做什么? 这样的网关如何实现? 我应该如何托管它?多少? 我需要一些可以转化为通用实现的模式。

我正在考虑一个结构简单的数据库,它将每个请求的 API 映射到另一端的微服务 API,然后使用 HttpWebRequest 构建请求并返回响应。然后我可以创建一个可以记录所有请求的消息处理程序。

最佳答案

您可以在这里查看示例:Service Fabric gateway prototype

这是特定于 Service Fabric 的,但这个概念通常有效。

我的体验是积极的,无论如何我已经切换到 Azure Application Gateway因为我所有的微服务都托管在 Azure 上。

关于.net - 为 ASP.NET API 微服务实现 API 网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40734086/

相关文章:

c# - 硬盘或硬盘的序列号

c# - 将 Entity Framework 中的字符串列映射到枚举

asp.net - ASP.NET WebAPI RC 部署真的需要所有 ASP.NET MVC 4 RC 程序集吗?

c# - 如何获取请求查询字符串值?

c# - 如何在 Blazor Server 后端正确使用依赖注入(inject)?

c# - Service Fabric .Net 核心应用程序 - 不工作

asp.net - Cloud Optimized ASP.Net vNext 和普通版有什么区别?

.net - 在这种情况下如何使用 SQL Parameter

c# - 从命令获取可执行文件的路径(与 cmd 一样)

c# - 如何使用 dotnet(nuget 包)httpclient 配置 TCP 连接数?