|
|
51CTO旗下网站
|
|
移动端

2.1.4 服务网关

《深入理解Spring Cloud与微服务构建》第2章Spring Cloud简介,本章主要介绍微服务应该具备的功能,以及Spring Cloud的基本组件,最后介绍了 Spring Cloud与Dubbo、Kubernetes之间的比较及优缺点。本节为大家介绍服务网关。

作者:方志朋来源:人民邮电出版社|2018-03-06 15:09

2.1.4 服务网关

微服务系统通过将资源以API接口的形式暴露给外界来提供服务。在微服务系统中,API接口资源通常是由服务网关(也称API网关)统一暴露,内部服务不直接对外提供API资源的暴露。这样做的好处是将内部服务隐藏起来,外界还以为是一个服务在提供服务,在一定程度上保护了微服务系统的安全。API网关通常有请求转发的作用,另外它可能需要负责一定的安全验证,例如判断某个请求是否合法,该请求对某一个资源是否具有操作权限等。通常情况下,网关层以集群的形式存在。在服务网关层之前,有可能需要加上负载均衡层,通常为Nginx双机热备,通过一定的路由策略,将请求转发到网关层。到达网关层后,经过一系列的用户身份验证、权限判断,最终转发到具体的服务。具体的服务经过一系列的逻辑运算和数据操作,最终将结果返回给用户,此时的架构如图2-6所示。

网关层具有很重要的意义,具体体现在以下方面。

网关将所有服务的API接口资源统一聚合,对外统一暴露,外界系统调用的API接口都是网关对外暴露的API接口。外界系统不需要知道微服务架构中各服务相互调用的复杂性,微服务系统也保护了其内部微服务单元的API接口,防止被外界直接调用以及服务的敏感信息对外暴露。

网关可以做一些用户身份认证、权限认证,防止非法请求