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

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

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

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

课程名称:实战Spring Cloud微服务注册到Nacos注册中心

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

图谱名称:Alibaba Java 技术图谱

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


实战Spring Cloud微服务注册到Nacos注册中心


一、下载安装、启动Nacos服务 

(一)微服务集成Nacos 

Nacos是阿里巴巴开源的注册和配置中心,Nacos目前在Spring Cloud微服务开发方面用的比较多,不仅是之前的Dubbo,和其他语言结合的也比较好。 

在做实战的时候,首先下载安装整个Nacos服务。Nacos服务对比Eureka,Eureka需要自己构建Spring Cloud项目,加入Eureka的依赖,改配置、加注解,然后启动;Nacos是已经构建完成打包好的,直接官方下载最新的解压包,启动就可以了,当然也可以改默认的配置,不改也行。 

接下来升级改造微服务架构,把微服务注册到Nacos服务上,再调用微服务。 

操作总结: 

1. 启动Nacos; 

2. 微服务注册到Nacos; 

3. 客户端连接Nacos,调用微服务。 

(二)启动Nacos服务器 

打开官网https://github.com/alibaba/nacos。下载cmd startup.cmd 或者双击 startup.cmd 文件。 

startup.sh直接启动,“-m”是指定参数,用class表示是集训模式,不用class用standalone表示单点模式。开发设置阶段可以用单点模式,生产环境下可以用集群模式,保证可用性、高并发。Linux/Unix/Mac、Windows系统都可以使用。 

• https://github.com/alibaba/nacos。 

• Linux/Unix/Mac。 

• Standalone means it is non-cluster Mode. * sh startup.sh -m standalone。 

• Windows; 

• cmd startup.cmd 或者双击 startup.cmd 文件。 

 

(三)Mac OS苹果系统启动Nacos 

image.png 

 

 

二、修改Spring Cloud微服务项目注册到Nacos中心 

(一)Java Spring Cloud微服务 

改造微服务最重要的是加入Nacos依赖,假设Nacos已经开启,接下来将改造微服务项目注册进来,改配置文件,配置文件地址把之前Eureka地址换掉就可以了。 

• POM 

• <dependency> 

 <groupId>org.springframework.cloud</groupId> 

<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> 

• </dependency> 

• 配置 

• server.port=18080 

• spring.application.name=microservice 

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

• 代码 REST API 

 

(二)验证微服务API 

image.png 

 

 

 

三、Nacos微服务管理中心 

注册进来以后,Nacos可以提供监控、管理微服务,配置一系列更新操作等,非常方便进入Nacos的监控界面,登录可以看到服务的监控信息、有哪些服务、服务列表状态。Nacos有中文版和英文版,可以直接使用,还有权限控制、命名空间、集群管理、统一配置服务、配置推送等功能。 

image.png 

image.png 

 

实践演示: 

直接在Nacos官网下载,可以切换成中文模式,Nacos不仅支持Spring Cloud,还支持Spring Boot、Dubbo、Docker、k8s、Syns等。演示用1.4.0版本,点击下载。 

下载后本地有“startup.sh”解压包,演示为WIN 10系统,运行输入“cmd”。运行框输入“cd nacos/bin”,再输入“nacos bin>startup.cmd-m standalong”启动。 

image.png 

image.png 

这有个管理界面,正常启动下面会有一个提示,下面有日志“nacos\logs”、配置文件“nacos\conf”用于改集群、改默认端口,数据文件的位置“nacos\data”。 

大家可以看一下nacos的解压包,包括data、logs、conf等。 

image.png 

Conf文件下面还有一个功能是,如果希望nacos与本地的MySQL或者远程的MySQL数据库进行对接,监控信息或服务令牌或配置信息不想丢掉,可以改一下服务,在配置文件里加入MySQL的用户密码,直接可以对接进去,这是创建表结构。 

image.png 

 

复制http://192.168.111.1:8848/nacos/index.html地址,到浏览器,打开nacos登录界面,输入用户:nacos,密码:nacos。 

image.png 

 

进入nacos管理界面,点开服务列表页面,目前列表里面是空的,上面有生产环境、开发环境、测试环境。 

image.png 

 

接下来改造微服务,首页要加入nacos依赖包,注意版本兼容性问题,这里使用的是2.2.3版本, 

image.png 

底层用的是“@EnableDoscoveryClient”,如下图所示: 

image.png 

配置文件改成“127.0.0.1:8848”,表示注册中心的位置。 

image.png 

 

然后右击启动微服务,注意现在的端口是8201。 

image.png 

 

正常情况下,微服务应该上线了,进入nacos服务列表界面,刷新可以看到有一条“taobao-nacos-microservice”淘宝的微服务。 

image.png 

 

点击“详情”,可以看到详细的监控信息: 

image.png 

点击“示例代码”,可以看到已经生成了客户端的调用代码,而且还包括Java、Spring、Spring Boot、C++等多种语言的调用代码。 

 

image.png 

 

同理,还可以改造调用端“feign”,先将依赖加进来,改配置文件,再把注册中心替换一下。想办法把程序集成进来,启动调用端。 

 

image.png 

再到Nacos服务列表界面查看,可以看到一条“nacos-feign”服务。 

image.png 

 

同理也可以多启动几个微服务,复制上面的“taobao-nacos-microservice”淘宝的微服务,将端口修改成“server.prot=8202”,然后启动。 

image.png 

再到Nacos服务列表界面查看,可以看到实例数变成了“2”个,属于默认的集群里已经有两个实例,健康实例数也是2,说明操作成功。 

image.png 

相关文章
|
数据可视化 Java BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
577 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
319 0
|
消息中间件 Java 数据库
Spring 微服务中的数据一致性:最终一致性与强一致性
本文探讨了在Spring微服务中实现数据一致性的策略,重点分析了最终一致性和强一致性的定义、优缺点及适用场景。结合Spring Boot与Spring Cloud框架,介绍了如何根据业务需求选择合适的一致性模型,并提供了实现建议,帮助开发者在分布式系统中确保数据的可靠性与同步性。
745 0
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1587 2
Spring Boot 3.x 微服务架构实战指南
|
消息中间件 Java Kafka
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
本文深入解析了 Kafka 和 RabbitMQ 两大主流消息队列在 Spring 微服务中的应用与对比。内容涵盖消息队列的基本原理、Kafka 与 RabbitMQ 的核心概念、各自优势及典型用例,并结合 Spring 生态的集成方式,帮助开发者根据实际需求选择合适的消息中间件,提升系统解耦、可扩展性与可靠性。
832 1
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
|
12月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
12月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
1098 1
日志收集和Spring 微服务监控的最佳实践
|
监控 安全 Java
Spring Cloud 微服务治理技术详解与实践指南
本文档全面介绍 Spring Cloud 微服务治理框架的核心组件、架构设计和实践应用。作为 Spring 生态系统中构建分布式系统的标准工具箱,Spring Cloud 提供了一套完整的微服务解决方案,涵盖服务发现、配置管理、负载均衡、熔断器等关键功能。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
724 1