文章内容输出来源:拉勾教育Java高薪训练营
1. 前言
1.1 说明
前面已经构建好了三个服务,并跑通了用户登录注册的业务流程。接下来,将会开始应用分布式技术对这个案例进一步的应用。
这里主要使用了阿里巴巴开源的SpringCloudAlibaba(SCA)的相关技术。
本文将介绍使用Nacos作为服务的注册发现中心,将用户、验证码、邮箱服务自动注册到Nacos服务端,然后服务消费方就可以通过Nacos感知到服务提供方的存在,进行调用。
1.2 什么是Nacos
Nacos是阿里巴巴开源的,它是一个服务发现、配置管理、服务管理的平台。它拥有服务注册与发现、健康检查 、动态配置管理、动态DNS服务等功能特性。
- 官网地址:https://nacos.io
- 开发手册:https://nacos.io/zh-cn/docs/what-is-nacos.html
2. 启动Nacos注册中心
2.1 下载nacos压缩包
下载地址可以从官网上找到,下载下来后进行解压
官网地址:直达地址
下载地址:直达地址
备注:如果github上下载太慢,我使用了1.3.2版本的,并上传了。可以从这里获取:直达地址
2.2 启动服务
cd nacos/bin
sh startup.sh -m standalone
2.3 访问控制台
- 本地访问地址:http://localhost:8848
- 默认账号和密码分别为:nacos /nacos
3. 启动服务提供者
3.1 在父级项目的pom.xml中引入Spring Cloud Alibaba的依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在这个案例中,用户服务、邮箱服务、验证码服务都是服务提供者,需要将它们在Nacos注册中心中进行注册。
3.2 配置验证码服务
3.2.1 在模块的pom.xml中引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
</dependency>
3.2.2 在配置文件application.yml中配置注册中心地址
spring:
cloud:
# nacos配置
nacos:
discovery:
# Nacos 注册中心配置地址(无需配置 HTTP 协议部分),多个用,隔开
server-addr: 127.0.0.1:8848
3.2.3 在启动类中增加服务注册与发现的注解@EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient // 开启注册中心客户端 (通用型注解,比如注册到Eureka、Nacos等)
public class CodeApplication8083 {}
3.2.4 启动验证码服务
3.2.5 启动成功后,观察注册中心控制台的服务列表
可以看到列表中出现了lagou-service-code
验证码服务,说明已经注册成功了。
3.3 配置邮箱服务、用户服务
步骤与3.2一样,最终在注册中心看到三个已经注册成功的服务提供者