Spring Cloud Gateway 整合 Nacos 实现服务请求自动转发+负载均衡!_springcloudgateway负载均衡
一、背景介绍
本文将继续研究 Gateway 的更高级用法,比如整合服务注册中心实现请求自动路由转发、整合服务配置中心实现路由规则动态加载等。
下面我们一起来看看相关的实现思路。
二、整合注册中心
在上篇文章中,我们介绍了在 Spring Cloud Gateway 中通过配置的方式就可实现将请求转发到某个目标服务上。而在微服务架构中,服务中心往往注册了很多服务,如果每个服务都进行单独配置的话,那这份工作无疑既劳累又枯燥。
实际上,Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会自动代理服务中心的所有服务,并以服务名作为目标 URI 来自动创建动态路由。
整个服务体系的工作流程就会变成如下图。
图片
下面我们以 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} &l