日常测试工作中,开发提到的网关到底什么意思?本篇文章就分享一下所谓的网关究竟是什么技术、有什么好处,以及常见的网关组件有那些。
网关概述
如果没有网关?
1、前后端分离,页面会对接很多域(微服务),客户端处理的复杂性很高;
2、存在安全隐患,随着微服务暴露接口的增加,服务器的受攻击面积也会增加;
3、重复鉴权;服务鉴权功能分布在每个微服务中处理,客户端对于每个服务的提供者都需要重复鉴权;
4、客户端需要针对不同的请求协议做适配:因为在后端的微服务架构中,可能不同的服务采用的协议不同,比如:HTTP、RPC等;客户端调用多个服务时,需要对不同的协议进行适配;
5、跨域问题;
6、客户端难以重构,因为微服务是动态拆分的,域名会改变。
微服务网关有什么好处呢?
针对没有网关时的缺点,微服务网关的诞生恰恰是解决这些问题的:
提供统一的访问入口,类似于门面,所有的请求都会先经过网关这一层,降低了服务器的受攻击面积;不管微服务怎么拆分,域名都不会变;也降低了客户端重构的难度。
提供统一的跨域问题解决方案。
提供统一的日志记录操作,进行用户打点,做用户画像,进行统一的监控。
提供统一的协议:如果后端微服务使用的协议不同,或存在一些对前端不友好的协议,可以在网关中转换为浏览器友好的、统一的协议。
认证授权;黑白