我使用 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/