3. 7 Spring Cloud 网关 Zuul 集成 Nacos 注册中心| 学习笔记

简介: 快速学习 3. 7 Spring Cloud 网关 Zuul 集成 Nacos 注册中心。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 3. 7 Spring Cloud 网关 Zuul 集成 Nacos 注册中心】学习笔记,与课程紧密联系,让用户快速学习知识。

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


3.7 Spring Cloud 网关 Zuul 集成 Nacos 注册中心

 

内容介绍

一、 网关 Zuul 集成 Nacos 注册中心

二、 实战操作

 

一、网关 Zuul 集成 Nacos 注册中心

本节课主要讲解 Spring Cloud 网关 Zuul 如何集成 Nacos 注册中心Nacos 的功能十分强大,在前面的课程中已经学习过。

本节课主要对整体的 Spring Cloud 微服务架构做升级改造,这里包括微服务从基础开发到配置优化,集成原理以及设计模式,还有使用最新框架改造的过程。Spring Cloud2.0,2.1等版本也可以逐步进化。

//引用必须修改 Zuul 的配置代码

server.port=8201

spring.application.name=taobao-nacos-microservice。

#Nacos

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

调用,检查 zuul 是否上线,通过 zuul 能否调用后台的微服务,路由规则有没有变掉,如果变掉就比较麻烦。

 

二、实战操作

通过 zuul 测试微服务 API 调用

//zuul Nacos 的引用,因为 zuul 不是和 eureak 进行集成,而是和 Nacos 进行集成。

//从中心地址修改配置。

spring.application.name=zuulproxy

server.port=10000

#Nacos

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

在这里还需要使用到 @EnableDiscoveryClient。

保证之前的 Nacos 中心起来,必须有熔断,一般在 zuul 上做代理,所以有可能在 zuul 上做熔断。

如果从0开始改造项目,需要注意版本问题,目前使用的版本是2.3.7Nacos 用的版本是2.2.3,会有版本差别的问题,过高的版本可能会不支持。Nacos 和 zuul 的兼容性也需要注意。

查看之前使用的 zuul 版本是2.3.7

//修改配置可以通过直接复制代码进行改造,项目命名为javaSpringCloud000000zuulproxyNacos,将 Nacos 的代码复制过来,然后修改配置文件,要注意版本兼容性。只修改配置文件即可,其他内容都不用进行修改。

//修改配置文件,删除掉 eureak 相关的代码。

spring.application.name=zuulproxy

server.port=10000

#nacos

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

运行报错,原因是 eureak 没有删除掉。理论上这里不需要 eureak,只需要 Nacos

重新启动,运行报错,报错信息的意思是:考虑在 config 中定义一个接口,这个配置没有。出错原因是默认的包名和自己定义的包名重名了,对包名进行修改,改为 cn.alibaba

重新启动,运行成功。查看注册中心,zuulproxy 上线了,通过 zuul 可以调后台的淘宝服务。调用方法:原来输的是10000,这里需要修改 zuul 的调动策略。如果使用 localost:10000/microservice/hello 调用就会出错。

正确的调用是把微服务地址放在中间,加上参数  hi,如下所示:localost:10000/Taobao-nacos-microservice/hi 通过网关调用,加上服务偏移,服务实际的方法名,即可调用成功。

调用 hello 的方法:

localost:10000/Taobao-nacos-microservice/hello/java 

或者:localost:10000/Taobao-nacos-microservice/hello/1

或者:localost:10000/Taobao-nacos-microservice/hello/frank

或者:localost:10000/Taobao-nacos-microservice/hello/Alibaba

调用结果:只上了两个服务实例也实现了负载均衡。 

以上即是实现了注册中心和网关代理的集成,并且对其做了升级改造。

相关文章
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
496 1
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
1343 3
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4777 14
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
监控 Java Nacos
使用Spring Boot集成Nacos
通过上述步骤,Spring Boot应用可以成功集成Nacos,利用Nacos的服务发现和配置管理功能来提升微服务架构的灵活性和可维护性。通过这种集成,开发者可以更高效地管理和部署微服务。
4557 17
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
963 5
|
XML Java 数据格式
Spring Cloud全解析:注册中心之zookeeper注册中心
使用ZooKeeper作为Spring Cloud的注册中心无需单独部署服务器,直接利用ZooKeeper服务端功能。项目通过`spring-cloud-starter-zookeeper-discovery`依赖实现服务注册与发现。配置文件指定连接地址,如`localhost:2181`。启动应用后,服务自动注册到ZooKeeper的`/services`路径下,形成临时节点,包含服务实例信息。
885 3
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
555 3
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
686 0