当前位置: 首页 > news >正文

Spring Cloud Gateway 与 Nacos 的完美结合

        在现代微服务架构中,服务网关扮演着至关重要的角色。它不仅负责路由请求到相应的服务,还承担着诸如负载均衡、安全认证、限流熔断等重要功能。Spring Cloud Gateway 作为 Spring Cloud 生态系统中的一员,以其强大的功能和灵活的配置,成为了构建微服务网关的首选。而 Nacos,作为阿里巴巴开源的服务发现和配置管理平台,为微服务架构提供了强大的支持。本文将详细介绍如何将 Spring Cloud Gateway 与 Nacos 结合,构建一个高效、稳定的微服务网关。

        这是之前写的zuul 路由网关 SpringCloud之zuul路由网关,可以做下对比;

        接着昨天,下面介绍下如何将 Spring Cloud Gateway 与 Nacos 整合。

1 添加依赖

首先,在 pom.xml 文件中添加必要的依赖:

<dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- 网关gateway依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><dependencyManagement><dependencies><!--SpringCloud依赖,一定要放到dependencyManagement中,起到管理版本的作用即可--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR8</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.3.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
2 配置文件

在 application.yml 文件中配置 Nacos 和 Gateway:

server:port: 8080spring:application:name: service-gatewaycloud:nacos:discovery:server-addr: localhost:8848gateway:routes:- id: service-consumeruri: lb://service-consumerpredicates:- Path=/consumer/**
3 启动类

创建一个启动类来启动 Spring Boot 应用:

@SpringBootApplication
@EnableDiscoveryClient
public class GatewayStarter {public static void main(String[] args) {// 启动网关服务SpringApplication.run(GatewayStarter.class, args);System.out.println("Gateway服务启动成功!");}
}
4 服务提供者和消费者

我这里还是使用上篇的生产者消费者,唯一变得一点是加了如下两块,便于测试与统一访问;

5. 测试

启动 Nacos 服务器、Gateway 应用、服务提供者和服务消费者。然后你可以通过以下 URL 访问服务:

5.1确保服务都已启动:

5.2 浏览器验

 

         通过以上步骤,你已经成功构建了一个基于 Spring Cloud Gateway 和 Nacos 的微服务网关。这个网关不仅能够高效地路由请求,还能够与 Nacos 无缝集成,实现服务发现和动态配置管理。希望本文对你构建微服务架构有所帮助。

http://www.lryc.cn/news/385371.html

相关文章:

  • vue2 element ui 表单 动态增加表单项 表单项值不可重复 select多选
  • [数据集][目标检测]电力场景下电柜箱门把手检测数据集VOC+YOLO格式1167张1类别
  • OverTheWire Bandit 靶场通关解析(上)
  • 【Python实战因果推断】4_因果效应异质性4
  • 大模型推理知识总结
  • [笔记] keytool 导入服务器证书和证书私钥
  • 【2024-热-办公软件】ONLYOFFICE8.1版本桌面编辑器测评
  • C# 23设计模式备忘
  • STL中的迭代器模式:将算法与数据结构分离
  • TCP、UDP详解
  • 【脚本工具库】批量下采样图像(附源码)
  • Web渗透:文件包含漏洞
  • 什么是yum源?如何对其进行配置?
  • Node.js全栈指南:认识MIME和HTTP
  • 基于weixin小程序智慧物业系统的设计
  • 成功解决​​​​​​​TypeError: __call__() got an unexpected keyword argument ‘first_int‘
  • vue3用自定义指令实现按钮权限
  • Nuxt3:当前页面滚动到指定位置
  • word图题表题公式按照章节编号(不用题注)
  • 最小生成树模型
  • 基于盲信号处理的声音分离-基于改进的信息最大化的ICA算法
  • 如何在Qt Designer中管理QSplitter
  • 关于新零售的一些思考
  • C++初学者指南-2.输入和输出---从输入流错误中恢复
  • 毫秒级响应!清科优能应用 TDengine 建设虚拟电厂运营管理平台
  • 【Ubuntu noble】apt 无法安装软件 Unable to locate package vim
  • Instagram APIj接口——快速获取Ins帖子媒体内容下载链接
  • Java基础(四)——字符串、StringBuffer、StringBuilder、StringJoiner
  • 吐血推荐!3款视频生成工具,全部国产,都免费
  • 【Web3】Web3.js 启动!并解决Web3 is not a constructor报错