3.10 Spring Cloud Gateway 实战接入 Nacos 服务 | 学习笔记

简介: 快速学习 3.10 Spring Cloud Gateway 实战接入 Nacos 服务 。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 3.10 Spring Cloud Gateway 实战接入 Nacos 服务】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/60/detail/1093


3.10 Spring Cloud Gateway 实战接入 Nacos 服务

 

内容介绍

一、Gateway 与 Nacos 介绍

二、Gateway 集成 Nacos

三、Spring Cloud Gateway 新特性

四、改造 Spring Cloud Gateway 网关

五、改造 Spring Cloud Gateway 网关配置

六、练习

 

一、Gateway 与 Nacos 介绍

Gateway 是官方网关工具。现在是希望 Gateway 与阿里巴巴 Nacos 注册中心进行集成,但是这两者是两个不同的公司贡献的项目。Nacos 在国内有很多公司使用,而且 Nacos 作为一个分布式的注册中心,它不仅能够做注册和服务发现治理,而且还可以做统一配置服务。

Nacos 本身并不是只支持 Spring Cloud,还可以支持 Go 语言等。

 

二、Gateway 集成 Nacos

Spring Cloud Gateway 可以直接和之前的微服务的项目直接改造进行集成。但现在比较特殊,需要去和 Nacos 进行搭配。

Nacos(之前讲过,做过实践演练,不会的话可以去找 Nacos 实践演练的课程)。现在需要下载,然后启动,启动之后,有集群模式和单列模式,但是要稍微注意一下这个参数,有可能会在机器上不能运行(有可能是环境问题或者jk版里面的问题,有可能是配置文件问题)。但是 Gateway 本身和 Nacos 集成,Nacos 生产环境下可以使用集训模式。

 

三、Spring Cloud Gateway 新特性

1.基于 Spring 5, Project Reactor 和 Spring Boot 2.0构建
2.能够匹配任何请求路由。
3.特定路由专用 Predicate 谓词和过滤器 Filter 特。

4.集成 Hystrix 断路器。
5.集成 Spring Cloud DiscoveryClient

6.易于编写谓词和过滤器
7.请求速率限制
8.路径重写
9.非阻塞 API ,响应式 API ,高并发


四、改造 Spring Cloud Gateway 网关

简单来说,就是要把之前的 Gateway 项目重构、升级,然后让它去支持 Nacos 服务。之前的微服务需要改造一下,要支持 Nacos 中心服务。这两个对接成功之后,才可以做后续的一些工作。

核心是 Nacos 本身开发了一个客户的依赖,要集成客户端项目,然后具备与 Nacos进行通信的功能。

 

五、改造 Spring Cloud Gateway 网关配置

集成的时候,可能会有错误会有bug,可能在后续的时候官方的版本中修复好

#gateway

spring.cloud.gateway.enabled=true

spring.cloud.gateway.discovery.locator.enabled=true

spring.cloud.gateway.discovery.locator.lower-case-servise-id=true

#Nacos

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

 

六、练习

复制 Gateway 项目, 把 Gateway 项目改为 Nacos 式

#Nacos

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

需要加入依赖,支持 Nacos 中心的位移

image.png

完成改进,改为之后其他地方不需要动,启动 Nacos 的网关

image.png

Nacos 已经可以启动了

点开服务列表,网关已经建立了,这里有个 getway,还有 taobao-Nacos ,现在需要使用 getway 来调动微服务,证明整个基于 Nacos 系统改造成功。

直接打开微服务,因为此时的微服务是后端直接是在8201上,所以可以直接调用,且测试正常。接下来做接网关的改造测试,注意地址是小写:localhost:100000、taobao-nacos-microservice/hi, 此时再测试,仍旧成功

image.png

经过新的 springcloud 的 gateway 是和 nacos 获取了最新的服务状态,看看能不能设置一个多实例呢?接下来来模拟一个集群,为了保证他的多可用,此时刷新会发现,显示会在两个中轮换显示,此时点开服务中心,可以看到两个服务。

image.png

后期如果有需要的话,可以结合 docer 上线更多的微服务,需要多少可以上线多少。这里就是体现了微服务的弹性。

相关文章
|
4月前
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
5月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1009 3
|
3月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
3月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
8月前
|
人工智能 Java API
Spring AI 实战|Spring AI入门之DeepSeek调用
本文介绍了Spring AI框架如何帮助Java开发者轻松集成和使用大模型API。文章从Spring AI的初探开始,探讨了其核心能力及应用场景,包括手动与自动发起请求、流式响应实现打字机效果,以及兼容不同AI服务(如DeepSeek、通义千问)的方法。同时,还详细讲解了如何在生产环境中添加监控以优化性能和成本管理。通过Spring AI,开发者可以简化大模型调用流程,降低复杂度,为企业智能应用开发提供强大支持。最后,文章展望了Spring AI在未来AI时代的重要作用,鼓励开发者积极拥抱这一技术变革。
3081 71
Spring AI 实战|Spring AI入门之DeepSeek调用
|
5月前
|
人工智能 监控 安全
如何快速上手【Spring AOP】?核心应用实战(上篇)
哈喽大家好吖~欢迎来到Spring AOP系列教程的上篇 - 应用篇。在本篇,我们将专注于Spring AOP的实际应用,通过具体的代码示例和场景分析,帮助大家掌握AOP的使用方法和技巧。而在后续的下篇中,我们将深入探讨Spring AOP的实现原理和底层机制。 AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的核心特性之一,它能够帮助我们解决横切关注点(如日志记录、性能统计、安全控制、事务管理等)的问题,提高代码的模块化程度和复用性。
|
9月前
|
存储 人工智能 Java
Spring AI与DeepSeek实战四:系统API调用
在AI应用开发中,工具调用是增强大模型能力的核心技术,通过让模型与外部API或工具交互,可实现实时信息检索(如天气查询、新闻获取)、系统操作(如创建任务、发送邮件)等功能;本文结合Spring AI与大模型,演示如何通过Tool Calling实现系统API调用,同时处理多轮对话中的会话记忆。
1992 57
|
7月前
|
Cloud Native Java 微服务
Spring Boot 3.x 现代化应用开发实战技巧与最佳实践
本指南基于Spring Boot 3.x,融合微服务、云原生与响应式编程等前沿技术,打造现代化应用开发实践。通过构建智能电商平台案例,涵盖商品、订单、用户等核心服务,展示Spring WebFlux、OAuth 2.0认证、Spring Cloud Gateway路由、GraalVM原生编译等技术实现。同时提供Docker/Kubernetes部署方案及性能优化策略,助您掌握从开发到生产的全流程。代码示例详实,适合进阶开发者参考。
746 2

热门文章

最新文章