前言
近来,在想着重构一个新的产品。准备采用微服务的技术解决方案,来搭建基础设施框架。网关,是一个必不可少的组件。那么,网关到底是什么?
其又有什么特点或者特性,成为微服务必不可少的组件呢?今天,我们就来探讨下这个问题。希望通过本文,大家能够明白,为何用。
演变过程
传统的单体技术架构,所有的内容,被打包进一个包内。为了保证,系统的稳定、安全,需要开发一些过滤器、拦截器,来实现对客户端请求的过滤与拦截,以及完成最终请求的转发。如下图所示
微服务技术解决方案下,同样需要为每个服务开发过滤器、拦截器来进行请求管理。但由于服务数量众多,同时,客户端形式多样化,如果在每个服务身上开发,将会造成很大的代码冗余与开发负担。因此,期待,将相同的一些功能,抽取到一个服务内实现,这便成为了一个组件,就是现在的网关。
网关存在的原因:
- 解决微服务技术架构下,请求管理功能
- 解决微服务技术架构下,多客户端的适配,采用单一入口,完成协议适配
网关的基本功能