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

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

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

相关文章
|
10月前
|
数据可视化 Java BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
466 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
12月前
|
XML 人工智能 Java
Spring Boot集成Aviator实现参数校验
Aviator是一个高性能、轻量级的Java表达式求值引擎,适用于动态表达式计算。其特点包括支持多种运算符、函数调用、正则匹配、自动类型转换及嵌套变量访问,性能优异且依赖小。适用于规则引擎、公式计算和动态脚本控制等场景。本文介绍了如何结合Aviator与AOP实现参数校验,并附有代码示例和仓库链接。
712 0
|
安全 Java 数据库
第16课:Spring Boot中集成 Shiro
第16课:Spring Boot中集成 Shiro
1188 0
|
消息中间件 存储 Java
第15课: Spring Boot中集成ActiveMQ
第15课: Spring Boot中集成ActiveMQ
710 0
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
1337 0
|
9月前
|
PyTorch 算法框架/工具 异构计算
75_TPU集成:Google Cloud加速
在大型语言模型(LLM)训练和推理的竞赛中,计算硬件的选择直接决定了研发效率和成本。Google的Tensor Processing Unit(TPU)作为专为AI计算设计的专用芯片,正逐渐成为大规模LLM开发的首选平台之一。随着2025年第七代TPU架构Ironwood的发布,Google在AI计算领域再次确立了技术领先地位。
1783 0
|
10月前
|
监控 Cloud Native Java
Spring Integration 企业集成模式技术详解与实践指南
本文档全面介绍 Spring Integration 框架的核心概念、架构设计和实际应用。作为 Spring 生态系统中的企业集成解决方案,Spring Integration 基于著名的 Enterprise Integration Patterns(EIP)提供了轻量级的消息驱动架构。本文将深入探讨其消息通道、端点、过滤器、转换器等核心组件,以及如何构建可靠的企业集成解决方案。
861 0
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
1066 2
|
缓存 JSON 前端开发
第07课:Spring Boot集成Thymeleaf模板引擎
第07课:Spring Boot集成Thymeleaf模板引擎
1004 0
第07课:Spring Boot集成Thymeleaf模板引擎

热门文章

最新文章