|
|
|
|
移动端

2.1.4 服务网关

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

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

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

2.1.4 服务网关

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

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

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

网关可以做一些用户身份认证、权限认证,防止非法请求操作API接口,对内部服务起到保护作用。

网关可以实现监控功能,实时日志输出,对请求进行记录。

网关可以用来做流量监控,在高流量的情况下,对服务进行降级。

API接口从内部服务分离出来,方便做测试。

当然,网关实现这些功能,需要做高可用,否则网关很可能成为架构中的瓶颈。最常用的网关组件有Zuul、Nginx等。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络工程师教程(第2版)

本书是全国计算机技术与软件专业技术资格(水平)考试的指定用书。按照新的网络工程师考试大纲的规定,本书包含了数据通信基础知识、网络体...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊