微服务架构系列——API服务网关

本章我们简单介绍微服务架构下的API服务网关,本章我们将讨论以下话题:

  • 什么是API服务网关
  • 为什么需要API服务网关
  • API服务网关的工作机制

处理横切关注点

当我们在开发设计大型软件应用时,我们一般都会采用分层的架构模式,比如,在WEB应用程序中,下面的这种架构是我们最为常见的设计模式
微服务架构系列——API服务网关_第1张图片
在这样的一个分层架构中,我们可以看到应用被分成了web层、业务层、数据层。在分层架构设计中,我们可以看到有一些不同的层级都可以抽象出一些共性的组件,比如:

  • 日志
  • 安全
  • 性能
  • 审计

这些功能特性并不属于某个特定的架构层级,而适用于所有的分层,因此从架构的角度来讲,我们需要将这些功能特性以一种通用的方式去实现。这就是我们之前所说的面向切面编程,而过滤器和拦截器则是我们实现AOP最常见的手段。

API服务网关的必要性

当我们在讨论微服务架构时,我们需要面对的是不同服务间的相互调用,那问题来了?究竟我们需要在架构中的哪个位置去实现这些共性的功能特性呢?

  • 认证
  • 日志
  • 审计
  • 限流

这就体现了API服务网关的具体作用了。
微服务架构系列——API服务网关_第2张图片

API服务网关如何工作

在微服务架构中,所有内、外的服务请求都会通过API服务网关来路由,服务网关负责实现了认证、日志、审计、限流等相关基础功能,假设,如果你想限制某个客户端请求某个服务的次数,那么我们就可以通过API服务网关来进行相应的限流操作。Netflix Zuul是目前业界流行的API服务网关解决方案。

总结

与AOP类似,AOP处理关注的是独立应用中的横切关注点,而API服务网关处理的则是企业级应用中微服务架构中的一些公共特性。

https://dzone.com/articles/microservices-architectures-introduction-to-api-ga

你可能感兴趣的:(架构,综合,前端,中间件,设计模式)