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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 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本身也有服务过期的机制,过期了会从服务列表中删除掉。 

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

相关文章
|
3月前
|
JavaScript 前端开发 Java
垃圾分类管理系统基于 Spring Boot Vue 3 微服务架构实操指南
本文介绍了基于Java技术的垃圾分类管理系统开发方案与实施案例。系统采用前后端分离架构,后端使用Spring Boot框架搭配MySQL数据库,前端可选择Vue.js或Java Swing实现。核心功能模块包括垃圾分类查询、科普教育、回收预约等。文中提供了两个典型应用案例:彭湖花园小区使用的Swing桌面系统和基于Spring Boot+Vue的城市管理系统,分别满足不同场景需求。最新技术方案升级为微服务架构,整合Spring Cloud、Redis、Elasticsearch等技术,并采用Docker容器
181 0
|
5月前
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
183 5
|
2月前
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
134 1
|
2月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
222 0
|
3月前
|
NoSQL Java 微服务
2025 年最新 Java 面试从基础到微服务实战指南全解析
《Java面试实战指南:高并发与微服务架构解析》 本文针对Java开发者提供2025版面试技术要点,涵盖高并发电商系统设计、微服务架构实现及性能优化方案。核心内容包括:1)基于Spring Cloud和云原生技术的系统架构设计;2)JWT认证、Seata分布式事务等核心模块代码实现;3)数据库查询优化与高并发处理方案,响应时间从500ms优化至80ms;4)微服务调用可靠性保障方案。文章通过实战案例展现Java最新技术栈(Java 17/Spring Boot 3.2)的应用.
190 9
|
3月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
|
2月前
|
SQL 前端开发 Java
Spring的三层架构
Spring MVC 三层架构(表现层、业务层、数据访问层)通过职责分离提升代码可维护性与扩展性。表现层(Controller)接收请求并返回响应;业务层(Service)处理核心逻辑与事务;数据访问层(Mapper)负责数据库操作与数据映射,共同实现高效、清晰的系统开发。
193 0
|
4月前
|
人工智能 数据可视化 JavaScript
颠覆开发效率!国内首个微服务编排框架Juggle开源啦!
Juggle是国内首个开源的微服务编排框架,专注于解决企业微服务进程中接口重复开发、系统对接复杂等问题。它提供零代码、低代码和AI增强功能,通过可视化拖拽快速组装简单API为复杂接口,支持多协议、多语言脚本和流程多版本管理。相比国外框架如Conductor,Juggle更贴合国内需求,具备高效开发、企业级可靠性及信创适配等优势,助力企业实现敏捷创新与数字化转型。
颠覆开发效率!国内首个微服务编排框架Juggle开源啦!