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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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服务对比EurekaEureka需要自己构建Spring Cloud项目,加入Eureka的依赖,改配置加注解,然后启动Nacos是已经构建完成打包好的,直接官方下载最新的解压包,启动就可以了,当然也可以改默认的配置,不改也行 

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

操作总结: 

1. 启动Nacos 

2. 微服务注册到Nacos 

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

(二)启动Nacos服务器 

打开官网https://github.com/alibaba/nacoscmd startup.cmd 或者双击 startup.cmd 文件 

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

 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、DubboDocker、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、logsconf等。 

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 

相关文章
|
7天前
|
安全 Java API
第7章 Spring Security 的 REST API 与微服务安全(2024 最新版)(上)
第7章 Spring Security 的 REST API 与微服务安全(2024 最新版)
27 0
第7章 Spring Security 的 REST API 与微服务安全(2024 最新版)(上)
|
7天前
|
Java API 微服务
【Spring Boot系列】通过OpenAPI规范构建微服务服务接口
【4月更文挑战第5天】通过OpenAPI接口构建Spring Boot服务RestAPI接口
|
6天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
1天前
|
canal 缓存 关系型数据库
Spring Boot整合canal实现数据一致性解决方案解析-部署+实战
Spring Boot整合canal实现数据一致性解决方案解析-部署+实战
|
1天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
2天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
12 0
|
2天前
|
持续交付 API 开发者
构建高效微服务架构:后端开发的新范式
【4月更文挑战第24天】 随着现代软件系统的复杂性日益增加,传统的单体应用已难以满足快速迭代与灵活扩展的需求。微服务架构作为一种新兴的软件开发模式,以其服务的细粒度、独立部署和弹性伸缩等优势,正在逐渐成为后端开发的重要趋势。本文将深入探讨微服务架构的设计原则、关键技术以及在实际业务中的应用实践,旨在为后端开发者提供构建和维护高效微服务架构的参考指南。
|
2天前
|
监控 Java 微服务
第八章 Spring Cloud 之 Hystrix
第八章 Spring Cloud 之 Hystrix
|
2天前
|
监控 Java API
第七章 Spring Cloud 之 GateWay
第七章 Spring Cloud 之 GateWay
|
2天前
|
负载均衡 前端开发 Java
第六章 Spring Cloud 之 OpenFeign
第六章 Spring Cloud 之 OpenFeign