API 网关设计
Posted
技术标签:
【中文标题】API 网关设计【英文标题】:API Gateway Design 【发布时间】:2019-01-07 04:49:47 【问题描述】:API 网关http://microservices.io/patterns/apigateway.html 似乎是微服务架构中采用的一个很好的模式(不是服务之间的内部通信)。
但我有以下疑问
我无法理解 API 网关本身应该如何设计。我们不能只为所有服务提供一个 api 网关。例如对于 Uber,我们有 旅行、出租车、司机、用户、定价微服务,那么我们应该设计多少个 API 网关。
在https://medium.com/netflix-techblog/optimizing-the-netflix-api-5c9ac715cf19 中,动态端点是什么意思。
我在想,就像在 Uber 案例中一样,要显示用户首页,我们需要出租车和定价。因此,我们将在 api-gateway some /home 中公开一个 API,然后从这里异步调用 Pricing,Cabs api 将合并并返回响应。有没有击球手的方法来做到这一点?
【问题讨论】:
下面的回答对你有帮助吗? 【参考方案1】:在云架构中,当您拥有 RESTful 接口时,通常会有一个 API 网关将您的请求重定向到负载均衡器、无服务器功能、队列或任何您想要/需要的东西:https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html
对于微服务之间的通信,我建议使用消息队列来解耦。一段时间后,您的合并想法可能会变得难以维护。查看 SQS:https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-tutorials.html
【讨论】:
以上是关于API 网关设计的主要内容,如果未能解决你的问题,请参考以下文章