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

相关文章
|
7月前
|
API
使用Gateway with Inference Extension路由外部MaaS服务
本文介绍如何通过Gateway with Inference Extension对接百炼服务,实现请求路由时自动添加API Key并重写路径,包含操作步骤及验证方法。
|
9月前
|
Java API Nacos
|
JSON Java Nacos
SpringCloud 应用 Nacos 配置中心注解
在 Spring Cloud 应用中可以非常低成本地集成 Nacos 实现配置动态刷新,在应用程序代码中通过 Spring 官方的注解 @Value 和 @ConfigurationProperties,引用 Spring enviroment 上下文中的属性值,这种用法的最大优点是无代码层面侵入性,但也存在诸多限制,为了解决问题,提升应用接入 Nacos 配置中心的易用性,Spring Cloud Alibaba 发布一套全新的 Nacos 配置中心的注解。
1556 139
|
存储 Java Nacos
Spring Cloud+Nacos+KMS 动态配置最佳实践
本文讲述了 Spring Cloud 应用中结合 Nacos 实现了运行期配置动态更新的功能,以及在此基础上结合 KMS 在不改动代码的情况下对应用使用的敏感配置进行保护,解决将配置迁移到 Nacos 中可能存在的数据安全顾虑,并对其底层工作原理做了简单介绍。
1623 150
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4743 14
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
2215 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
负载均衡 Java 应用服务中间件
Gateway服务网关
Gateway服务网关
399 1
Gateway服务网关
|
API
Istio 使用ingress和gateway两种方式公开服务
本文档指导您完成Istio网关的部署与配置。首先安装`istiod`(步骤略过)。接着,创建`ingress.yaml`文件,定义Istio入口网关的服务、部署及权限设置,通过`kubectl apply -f ingress.yaml`命令应用。最后,创建Ingress资源,指定主机名、后端服务及TLS配置,实现对外部请求的路由管理。
1235 1
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
367 6
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
273 5