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

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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本身也有服务过期的机制,过期了会从服务列表中删除掉。 

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

相关文章
|
22天前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
142 68
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
10天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
38 3
|
8天前
|
前端开发 搜索推荐 安全
陪玩系统架构设计陪玩系统前后端开发,陪玩前端设计是如何让人眼前一亮的?
陪玩系统的架构设计、前后端开发及前端设计是构建吸引用户、功能完善的平台关键。架构需考虑用户需求、技术选型、安全性等,确保稳定性和扩展性。前端可选用React、Vue或Uniapp,后端用Spring Boot或Django,数据库结合MySQL和MongoDB。功能涵盖用户管理、陪玩者管理、订单处理、智能匹配与通讯。安全性方面采用SSL加密和定期漏洞扫描。前端设计注重美观、易用及个性化推荐,提升用户体验和平台粘性。
34 0
|
24天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
23天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
35 1
|
24天前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
43 1
|
2月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
245 2
|
4天前
|
Java 数据库连接 Maven
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
自动装配是现在面试中常考的一道面试题。本文基于最新的 SpringBoot 3.3.3 版本的源码来分析自动装配的原理,并在文未说明了SpringBoot2和SpringBoot3的自动装配源码中区别,以及面试回答的拿分核心话术。
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
|
10天前
|
NoSQL Java Redis
Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置机制通过 `spring.factories` 文件和 `@EnableAutoConfiguration` 注解,根据类路径中的依赖和条件注解自动配置所需的 Bean,大大简化了开发过程。本文深入探讨了自动配置的原理、条件化配置、自定义自动配置以及实际应用案例,帮助开发者更好地理解和利用这一强大特性。
55 14
|
1月前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
51 1
SpringBoot入门(7)- 配置热部署devtools工具