微服务架构学习 之 微服务网关

作者: 皮皮杂谈 | 来源:发表于2019-03-12 13:08 被阅读58次

    为什么要使用微服务网关?

    不同的微服务可能会采用不同的网络地址对外发布。而访问客户端的某个完整业务流程,有的时候需要调用多个微服务接口才能完成。如某个购票系统调用微服务结构如下:

    微服务

    如果让客户端直接调用每一个微服务接口,会存在如下问题:

    复杂性高。客户端会多次请求不同的微服务,而且存在跨域请求,每个微服务都需要独立认证。

    可扩展性差。不利于代码重构和微服务重新划分,在业务流程调整的情况下,微服务适当地进行拆分或者合并,在直接通讯的情况下,重构工作难度大。

    微服务网关可以解决以上问题,什么是微服务网关呢?

    微服务网关在客户端与服务器端之间架起了一座桥梁,所有的外部请求都会先经过微服务网关过滤,客户端只用同微服务网关交互,而无须直接调用特定微服务的接口。基于微服务网关的结构图如下:

    微服务

    微服务网关提供身份认证与安全、审查与监控、动态路由、压力测试、负载分配等功能。具备以下优势:

    集中监控。在微服务网关收集监控数据并将其推送到外部系统进行分析。

    统一认证。在微服务网关上进行统一认证,然后再将请求转发到后端的微服务,而无须在每个微服务中进行认证。

    负载均衡。当请求到达微服务网关时,对于负载高的微服务,通过相应的负载均衡算法和法则,选择合适的服务器进行访问。

    Zuul是Netflix开源的微服务网关,Spring Cloud对Zuul进行了整合与增强,目前,Zuul是构建微服务网关不错的选择。

    相关文章

      网友评论

        本文标题:微服务架构学习 之 微服务网关

        本文链接:https://www.haomeiwen.com/subject/uuvgpqtx.html