如何使用c#在asp.net web api(非.net核心)中实现api网关

问题描述 投票:0回答:1

现在,我们使用asp.net web api(不是.net核心)开发了许多服务,我们需要开发一种门路,让客户端连接到一个端点,然后该网关决定调用哪个api来处理传入的请求和将响应返回给客户端,因此web api作为网关将重新路由请求并返回响应

客户端<----> api网关<---->适当的web api

我们需要尽可能简单地开发它,但是使用c#和asp.net web api进行最佳实践

有任何想法吗 ??

api asp.net-web-api microservices soa api-gateway
1个回答
0
投票

Ocelot是强大的库,但它在.Net Core中使用,它可以帮助我们构建弹性网关,并且我不确定在这种情况下您可以使用的类似的Asp.net库。如果您无法找到合适的库或提供商(云端API网关提供商,如azure,AWS),您必须编写自己的网关API,那么您必须了解一些事情。

api网关的最佳实践。

Api网关非常有用,但同时它可以是瓶颈。您的网关应具有弹性且高度可用。根据您的请求负载,您可能必须实现“断路器”,“重试”和“批量头”等模式,为此您可以使用名为Polly的库。您可以记录调试和性能监视的请求。安全性是另一个方面,但实际上取决于您实现身份验您可以使用以下库的组合来实现您的目标。

https://github.com/App-vNext/Polly

https://github.com/reactiveui/refit

© www.soinside.com 2019 - 2024. All rights reserved.