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 上线更多的微服务,需要多少可以上线多少。这里就是体现了微服务的弹性。

相关文章
|
2月前
|
JSON Java API
利用Spring Cloud Gateway Predicate优化微服务路由策略
Spring Cloud Gateway 的路由配置中,`predicates`​(断言)用于定义哪些请求应该匹配特定的路由规则。 断言是Gateway在进行路由时,根据具体的请求信息如请求路径、请求方法、请求参数等进行匹配的规则。当一个请求的信息符合断言设置的条件时,Gateway就会将该请求路由到对应的服务上。
156 69
利用Spring Cloud Gateway Predicate优化微服务路由策略
|
17天前
|
监控 Java Nacos
使用Spring Boot集成Nacos
通过上述步骤,Spring Boot应用可以成功集成Nacos,利用Nacos的服务发现和配置管理功能来提升微服务架构的灵活性和可维护性。通过这种集成,开发者可以更高效地管理和部署微服务。
111 17
|
2月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
66 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
6月前
|
Cloud Native Java Nacos
微服务时代的新宠儿!Spring Cloud Nacos实战指南,带你玩转服务发现与配置管理,拥抱云原生潮流!
【8月更文挑战第29天】Spring Cloud Nacos作为微服务架构中的新兴之星,凭借其轻量、高效的特点,迅速成为服务发现、配置管理和治理的首选方案。Nacos(命名和配置服务)由阿里巴巴开源,为云原生应用提供了动态服务发现及配置管理等功能,简化了服务间的调用与依赖管理。本文将指导你通过五个步骤在Spring Boot项目中集成Nacos,实现服务注册、发现及配置动态管理,从而轻松搭建出高效的微服务环境。
337 0
|
3月前
|
存储 人工智能 Java
Spring AI Alibaba 配置管理,用 Nacos 就够了
本文通过一些实操案例展示了 Spring AI Alibaba + Nacos 在解决 AI 应用中一系列复杂配置管理挑战的方案,从动态 Prompt 模板的灵活调整、模型参数的即时优化,到敏感信息的安全加密存储。Spring AI Alibaba 简化了对接阿里云通义大模型的流程,内置 Nacos 集成也为开发者提供了无缝衔接云端配置托管的捷径,整体上极大提升了 AI 应用开发的灵活性和响应速度。
383 18
|
2月前
|
JavaScript Java Kotlin
深入 Spring Cloud Gateway 过滤器
Spring Cloud Gateway 是新一代微服务网关框架,支持多种过滤器实现。本文详解了 `GlobalFilter`、`GatewayFilter` 和 `AbstractGatewayFilterFactory` 三种过滤器的实现方式及其应用场景,帮助开发者高效利用这些工具进行网关开发。
299 1
|
2月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
45 6
|
2月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
72 5
|
2月前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
54 5
|
3月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
88 3