![d4035968dcae2ce6c791ccc769f8bfc1.png](https://img-blog.csdnimg.cn/img_convert/d4035968dcae2ce6c791ccc769f8bfc1.png)
概念介绍
如果大家清楚“网关”这个概念,那就很容易理解“API网关“,即所有API的入口。 从面向对象设计的角度看,它与外观模式类似,封装了系统内部架构。在单体应用架构中,没有「 API网关 」的概念,每个项目都会用到filter/过滤器之类的东西,filter的作用就是把项目中的一些非业务逻辑的功能抽离出来独立处理,避免与业务逻辑混在一起增加代码复杂度。比如 鉴权认证功能、Session处理、安全检查、日志处理等等。
如果采用微服务架构,那一个项目中微服务节点很多,如果让每一个节点都去处理上面这些 “鉴权认证功能、Session处理、安全检查、日志处理等” 会多出很多冗余的代码,也会给增加业务代码的复杂度,因此就需要有一个API网关把这些公共的功能独立出来成为一个服务来统一的处理这些事情。
![b9a8d0b94a044ee3103453e8c75f1c7b.png](https://img-blog.csdnimg.cn/img_convert/b9a8d0b94a044ee3103453e8c75f1c7b.png)