微服务设计模式 - 代理


问题陈述

微服务架构将应用程序构建为一组松散耦合的微服务,每个服务都可以以敏捷的方式独立开发,以实现持续交付/部署。当使用微服务架构构建大型、复杂的应用程序时,我们通常需要准备一个统一的接口,用于在每次服务调用之前完成身份验证和授权等常见工作。

解决方案

代理微服务模式是聚合器模型的变体。在这个模型中,我们将使用代理模块而不是聚合模块。代理服务可以单独调用不同的服务。

代理模式

在代理模式中,我们可以通过提供转储代理层来构建一级额外的安全性。该层的作用类似于接口。

优点

  • 代理模式提供了统一的接口,而不是每个微服务提供不同的接口。

  • 代理模式允许在一个地方应用统一的关注点,例如日志记录、安全性等。