microservices - 微服务应该处理这个还是 api 网关?
问题描述
我正在构建一个微服务架构,并且在某一方面有点困惑。我使用 Kafka 作为消息代理系统在我的服务中进行通信。一个完美的例子是Uber 的请求估计 API。它返回持续时间、距离、价格等。我假设他们对每一个都有一个微服务,即定价服务、持续时间/距离服务、司机服务等。我的问题是当到达端点时/requests/estimate
请求微服务对其他微服务进行休息调用以检索持续时间、距离等的数据?还是 API Gateway 会处理这个问题?
解决方案
实际上,并非所有网关 API 都支持多个调用和聚合。在微服务架构中,有一个通用模式(“ API Composition ”、“ Composition Patterns ”尤其是“Aggregator Pattern”),其思想是你需要做一个单独的服务,将包含多个业务逻辑调用和聚合。
推荐阅读
- javascript - 为什么我在 Sequelize 中得到“sequelize.literal 不是函数”
- javascript - Firebase JS函数似乎将前导空格添加到变量
- laravel - Docker Laravel 运行端口暴露权限被拒绝
- windows - 如何将一个静态字符串和一个变量名组合成一个已定义的变量名?
- php - php - Yii2 ActiveQuery 为 API 选择 joinWith
- sql-server-2008 - 试图得到客户的询问
- json - JSON Schema:验证自定义 $ref'd 对象的数组
- node.js - Struck on node.js.npm 命令一直只给出一个输出“错误:EISDIR:对目录的非法操作,读取”。在目录中找不到 .npmrc
- android - Recycleview Renew onCreateView 我该怎么做
- r - Rvest 在本地运行良好,但在部署 Shiny 应用程序时相同的代码崩溃