我正在学习微服务和API网关。一些文章提到api网关只有一个端点。对吗?
假设我的电子商务页面调用/products和/users来获取产品和用户数据,它们分别位于Product service和user service中。
我的客户端分别打电话给api.com/products和api.com/users吗?还是做api.com/exec?endpoint=users(或类似的事情)?
从上下文中来看,这里的端点似乎是域名- api.com。该域名内的特定url,这是api网关所有者决定的东西。
通常有两种不同的api方法。在您的示例中,有两个服务,将它们暴露给客户的一种方式是:
- products.api.yourcompany.com
- users.api.yourcompany.com
显然,每个服务都有自己的端点(域),它们可以使用任何url格式进行特定的操作;比如/operationAbc或exec?操作= abc等。
第二种方法,这是api网关的优点,两个服务都可以隐藏在单个端点后面:api.yourcompany.com——api网关决定实际操作调用的样子。