开发者学堂课程干货总结——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 

相关文章
|
11天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
18 0
|
25天前
|
负载均衡 测试技术 持续交付
高效后端开发实践:构建可扩展的微服务架构
在当今快速发展的互联网时代,后端开发扮演着至关重要的角色。本文将重点探讨如何构建可扩展的微服务架构,以及在后端开发中提高效率的一些实践方法。通过合理的架构设计和技术选型,我们可以更好地应对日益复杂的业务需求,实现高效可靠的后端系统。
|
27天前
|
监控 Kubernetes 持续交付
构建高效可扩展的微服务架构:后端开发实践指南
在数字化转型的浪潮中,企业对软件系统的要求日益提高,追求快速响应市场变化、持续交付价值成为核心竞争力。微服务架构以其灵活性、模块化和独立部署的特点,成为解决复杂系统问题的有效途径。本文将深入探讨如何构建一个高效且可扩展的微服务架构,涵盖关键设计原则、技术选型及实践案例,为后端开发者提供一条清晰的指导路线,帮助其在不断变化的技术环境中保持竞争力。
129 3
|
20天前
|
监控 Java 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型的浪潮中,微服务架构以其灵活性、可扩展性和容错性成为企业技术战略的关键组成部分。本文深入探讨了微服务的核心概念,包括其设计原则、技术栈选择以及与容器化和编排技术的融合。通过实际案例分析,展示了如何利用微服务架构提升系统性能,实现快速迭代部署,并通过服务的解耦来提高整体系统的可靠性。
|
26天前
|
监控 数据管理 API
构建高效微服务架构:后端开发的新趋势
在现代软件开发领域,随着业务需求的不断复杂化以及敏捷迭代的加速,传统的单体应用架构逐渐暴露出其局限性。微服务架构作为一种新的解决方案,以其高度模块化、独立部署和可扩展性,正成为后端开发领域的新趋势。本文将探讨微服务架构的核心概念,分析其优势与面临的挑战,并提供实施高效微服务的策略和最佳实践,帮助读者理解如何利用这一架构模式提升系统的可靠性、灵活性和可维护性。
135 5
|
29天前
|
人工智能 运维 监控
构建高性能微服务架构:现代后端开发的挑战与策略构建高效自动化运维系统的关键策略
【2月更文挑战第30天】 随着企业应用的复杂性增加,传统的单体应用架构已经难以满足快速迭代和高可用性的需求。微服务架构作为解决方案,以其服务的细粒度、独立性和弹性而受到青睐。本文将深入探讨如何构建一个高性能的微服务系统,包括关键的设计原则、常用的技术栈选择以及性能优化的最佳实践。我们将分析微服务在处理分布式事务、数据一致性以及服务发现等方面的挑战,并提出相应的解决策略。通过实例分析和案例研究,我们的目标是为后端开发人员提供一套实用的指南,帮助他们构建出既能快速响应市场变化,又能保持高效率和稳定性的微服务系统。 【2月更文挑战第30天】随着信息技术的飞速发展,企业对于信息系统的稳定性和效率要求
|
2天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
3天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
22 2
|
5天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
17天前
|
负载均衡 网络协议 Java
构建高效可扩展的微服务架构:利用Spring Cloud实现服务发现与负载均衡
本文将探讨如何利用Spring Cloud技术实现微服务架构中的服务发现与负载均衡,通过注册中心来管理服务的注册与发现,并通过负载均衡策略实现请求的分发,从而构建高效可扩展的微服务系统。