微服务设计模式 - 聚合器
问题陈述
微服务架构将应用程序构建为一组松散耦合的微服务,每个服务都可以以敏捷的方式独立开发,以实现持续交付/部署。当使用微服务架构构建一个大型、复杂的应用程序时,我们常常需要得到多个微服务的组合结果并展示在应用程序上。
解决方案
我们可以将聚合器定义为一个简单的 Web 模块,充当负载均衡器,这意味着它将根据需求调用不同的服务。下图描述了具有聚合器设计的简单微服务 Web 应用程序。如下图所示,“聚合器”负责一一调用不同的服务。如果我们需要对服务 A、B 和 C 的结果应用任何业务逻辑,那么我们可以在聚合器本身中实现业务逻辑。
聚合器可以再次作为另一种服务暴露给外部世界,其他人可以在需要时使用它。在开发聚合器模式 Web 服务时,我们需要记住,每个服务 A、B 和 C 都应该有自己的缓存层,并且本质上应该是全栈。