现在,我们使用asp.net网络api(不是.net核心)开发了许多服务 我们需要开发一种网关,让客户端连接到一个端点,此网关决定调用哪个api来处理传入的请求并将响应返回给客户端,因此作为网关的web api将重新路由请求并返回响应
客户端<----> API网关<---->适当的Web api
我们需要尽可能简单地开发它,但要使用c#和asp.net网络api的最佳实践
任何想法?
答案 0 :(得分:0)
Ocelot是功能强大的库,但是它在.Net Core中使用,它可以帮助我们构建弹性网关,并且不确定在这种情况下可以使用的类似Asp.net库。如果找不到合适的库或提供程序(云API网关提供程序,如azure,AWS),并且必须编写自己的网关api,那么您必须了解几件事。
api网关最佳实践。
Api网关非常有用,但同时也可能成为瓶颈。您的网关应该具有弹性并且高度可用。根据您的请求负载,您可能必须实现“ Circuit breaker”,“ Retry”和“ bulk head”之类的模式,为此,您可以使用称为Polly的库。您可以记录您的调试和性能监视请求。安全是另一个方面,但实际上取决于您如何实现身份验证。您可以结合使用以下库来实现您的目标。