开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三十一)

简介: Spring Cloud微服务架构设计与开发实战课时3.10—Spring Cloud Gateway实战接入Nacos服务 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节三的Spring Cloud Gateway实战接入Nacos服务”干货总结~这是Spring Cloud 课程的最后一课时,一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Cloud Gateway实战接入Nacos服务

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

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Spring Cloud Gateway实战接入Nacos服务


各位同学大家好,咱们继续讲解Spring Cloud微服务架构实战系列课程,继续实战Gateway项,Gateway是官方出品的网管工具,接入Nacos注册中心进行集成。目前Nacos国内很多大型公司在用,作为一个分布式数据中心,能够做注册和服务发现治理,还可以做统一配置服务。 

Gateway为什么要和Nacos做集成,因为这两2个都非常优秀,是黄金搭档,Nacos本身不仅支持Spring Cloud,还支持doubleGO语言等一些分布式框架来做统一的注册和治理中心。 

 

  1. Spring Cloud Gateway网关 

Spring Cloud Gateway新特性 

1. 基于Spring 5Project ReactorSpring Boot 2.0构建 

2. 能够匹配任何请求路由。 

3. 特定路由专用Predicate谓词和过滤器Filter特。 

4. 集成Hystrix断路器。 

5. 集成Spring Cloud DiscoveryClient 

6. 易于编写谓词和过滤器 

7. 请求速率限制 

8. 路径重写 

9. 非阻塞API,响应式API,高并发 

  Spring Cloud Gateway 可以和集成微服务的项目直接改造进行集成,但是和Nacos进行搭配需要注意下,因为Nacos有集成模式和单点模式。关于如何进行操作可以回看之前讲解过的Nacos实战。如果起不来可能是环境、配置文件等出现问题。 

 

  1. Spring Cloud Gateway实战集成 Nacos 

image.png 

改造Spring Cloud Gateway具体怎么操作?简单一点的话,就是之间的Gateway项目进行重构,升级,去支持Nacos服务。之前的微服也需要进行重构,去支持Nacos中心服务。只有2个对接成功之后,才可以做后续的工作。 

Nacos本身开发客户端的依赖,客户端项目去集成它,需要具备和Nacos通信的功能。现在Spring Cloud微服架构,不仅可以用麦飞的,Spring Cloud官方的,还有阿里巴巴的,所以架构设计有个多个选择, 而且各个框架在不断的迭代。有更多的优秀的解决方案去落地你的项目。 

image.png 

Spring Cloud Gateway在集成Nacos时,可能出现一些错误,目前还是存Bug的,后续官方会进行修复,需要注意下相关的配置。 

image.png 

image.png 

大家把微服务项目改造完成以后挂接到Gateway上进行一下测试,流程给跑通,进行测试下。 

image.png 

项目进行改造需要把依赖加进去,是Nacos中心的一个对接 

image.png 

启动Nacos服务在win10 LinuxMAC脚本会不太一样。目前截图界面是单点模式,集群模式可以在生成模式进行。 

本地可以弄一个Nacos配置文件,这样子配置数据不会丢失,即使重启了也不会丢失。 

image.png 

图(1 

上图(1)显示重启是出现一个Bug,自动服务注册的时候出现2个,由于这个项目是从早期的Spring Cloud移植过来的,只要删除下图(2)依赖,在重启就可以正常运行。 

image.png 

图(2 

如配置正常是可以在Nacos查看Spring Cloud Gateway,如见图3 

image.png 

3 

后续的微服务改造也是同理的,配置文件进行修改,增加Nacos依赖。 

希望大家在实战过程中去思考,之前讲的那些设计模式和原理。如:Gateway如何监控后台的微服务,谁来执行,多长时间拉一次服务列表,在调用的过程中有没有High Strikes这种现成词的概念,有没有链接池的概念,这里面都会影响到后面的性能问题。 

底层的机制中,Europe默认30秒,实际淘汰一个服务实际是90秒,Europe本身也有服务过期的机制,过期了会从服务列表中删除掉。 

微服务架构师本身不像传统的一些简单的架构只需要做三层或者五层的改动,而是更多的不同框架,并且考虑问题需要综合全面的。微服务架构里面有许多许多的框架和方案,并且每个框架方案的话都需要你自己实际去实战配代码。微服务架构含金量十足,作为分布式架构里面,是一个巅峰,里面包含了几十种设计模式、几十种框架,而且还在不断的迭代进行更新。这里面就需要我们在不断的去学习,逼着大家不断的去进步,是个考验是个挑战,但是同时也是一个很好的机遇。 

相关文章
|
11月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
8677 127
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
819 0
|
11月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
安全 数据可视化 Java
AiPy开发的 Spring 漏洞检测神器,未授权访问无所遁形
针对Spring站点未授权访问问题,现有工具难以检测如Swagger、Actuator等组件漏洞,且缺乏修复建议。全新AI工具基于Aipy开发,具备图形界面,支持一键扫描常见Spring组件,自动识别未授权访问风险,按漏洞类型标注并提供修复方案,扫描结果可视化展示,支持导出报告,大幅提升渗透测试与漏洞定位效率。
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
805 0
|
Java API 网络架构
基于 Spring Boot 框架开发 REST API 接口实践指南
本文详解基于Spring Boot 3.x构建REST API的完整开发流程,涵盖环境搭建、领域建模、响应式编程、安全控制、容器化部署及性能优化等关键环节,助力开发者打造高效稳定的后端服务。
1598 1
|
缓存 Java API
Spring WebFlux 2025 实操指南详解高性能非阻塞 API 开发全流程核心技巧
本指南基于Spring WebFlux 2025最新技术栈,详解如何构建高性能非阻塞API。涵盖环境搭建、响应式数据访问、注解与函数式两种API开发模式、响应式客户端使用、测试方法及性能优化技巧,助你掌握Spring WebFlux全流程开发核心实践。
1744 0
|
存储 NoSQL Java
探索Spring Boot的函数式Web应用开发
通过这种方式,开发者能以声明式和函数式的编程习惯,构建高效、易测试、并发友好的Web应用,同时也能以较小的学习曲线迅速上手,因为这些概念与Spring Framework其他部分保持一致性。在设计和编码过程中,保持代码的简洁性和高内聚性,有助于维持项目的可管理性,也便于其他开发者阅读和理解。
316 0
|
Java API 微服务
Java 21 与 Spring Boot 3.2 微服务开发从入门到精通实操指南
《Java 21与Spring Boot 3.2微服务开发实践》摘要: 本文基于Java 21和Spring Boot 3.2最新特性,通过完整代码示例展示了微服务开发全流程。主要内容包括:1) 使用Spring Initializr初始化项目,集成Web、JPA、H2等组件;2) 配置虚拟线程支持高并发;3) 采用记录类优化DTO设计;4) 实现JPA Repository与Stream API数据访问;5) 服务层整合虚拟线程异步处理和结构化并发;6) 构建RESTful API并使用Springdoc生成文档。文中特别演示了虚拟线程配置(@Async)和StructuredTaskSco
1352 0
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
994 6