Spring Cloud Gateway 整合 Nacos 实现服务请求自动转发+负载均衡!

一、背景介绍

本文将继续研究 Gateway 的更高级用法,比如整合服务注册中心实现请求自动路由转发、整合服务配置中心实现路由规则动态加载等。

下面我们一起来看看相关的实现思路。

二、整合注册中心

在上篇文章中,我们介绍了在 Spring Cloud Gateway 中通过配置的方式就可实现将请求转发到某个目标服务上。而在微服务架构中,服务中心往往注册了很多服务,如果每个服务都进行单独配置的话,那这份工作无疑既劳累又枯燥。

实际上,Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会自动代理服务中心的所有服务,并以服务名作为目标 URI 来自动创建动态路由。

整个服务体系的工作流程就会变成如下图。

Spring Cloud Gateway 整合 Nacos 实现服务请求自动转发+负载均衡!_第1张图片

图片

下面我们以 Nacos 作为服务注册为例,通过具体的案例看看如何使用 Spring Cloud Gateway 来实现将服务请求进行转发的效果。

在构建服务网关之前,需要先部署并启动 Nacos,这一步比较简单,在此就不重复介绍了。如果还不会的小伙伴,可以参考之前写过的 Nacos 作为服务注册中心的技术文章。

2.1、构建服务网关

使用 Spring Cloud Gateway 来构建服务网关也非常简单,之前我们已经详细介绍过,将之前创建的gateway-server复制一个新服务网关工程,命名为gateway-nacos,并在pom.xml中引入 Nacos 注册中心依赖包,示例如下:


    8
    8
    2.2.5.RELEASE
    Hoxton.SR3
    2.2.3.RELEASE



    
    
        org.springframework.cloud
        spring-cloud-starter-gateway
    
    
    
        com.alibaba.cloud
        spring-cloud-starter-alibaba-nacos-discovery
    



    
        
        
            org.springframework.boot
            spring-boot-dependencies
            ${spring-boot.version}
            pom
         

你可能感兴趣的:(架构,负载均衡,java,前端)