对于我的新项目,我必须使用Micro服务和Api网关.所以我收集了有关Micro Service的详细信息,但Api Gateway部分并不清楚.
我的问题是,
>有人知道如何在Api中完成请求路由部分
网关?
>这可以通过简单的if条件来完成[伪代码:
if(keyword ==“product”)then route(“product service”)]?
>或者这是更好的方法吗?
我正在使用C#.Net来开发Api.
我从https://www.nginx.com/blog/building-microservices-using-an-api-gateway/获得了一些关于Api Gateway的信息
解决方法
你几乎问了三个问题,他们都有点相关,所以我会尽力解决这三个问题.
例如,API网关中的请求路由不仅仅是一个代理,并且实现不会涉及在将请求发送到下游服务之前检查请求的条件. API网关可能是您服务的唯一入口点,在该服务中,还将在层上处理身份验证,以确保请求具有转到下游服务的权限.身份验证可能是另一项服务本身. API网关的高级实现可能会整合所有下游服务上的大多数(如果不是全部)端点.
让我们举一个小例子,例如电子商务应用程序,其中包括用于列出产品,搜索产品和购物车的服务.然后,API网关也将具有这些相同的端点,并将请求进一步委托给负责该请求的服务.此示例中的API可能有/ products列出所有产品,/ products?query = …来搜索产品,最后/ carts::id / products列出购物车中的产品.希望这能回答你的问题.
除此之外,我知道你已经提到它用于一个新项目并且只想给你2美分,如果你的团队非常小,因为它有一个大的,这可能不是用于你的新项目的最佳架构运营开销.需要标准化,自动化部署,集成等的开销.最好从传统的MVC架构开始,并在项目启动时慢慢将其发展为微服务.