注册中心Nacos
Nacos
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
使用环境准备
- 64 位操作系统,支持 Linux/Unix/Mac/Window
- JDK 1.8+
- Maven 3.2x+
服务端使用
- 下载安装包nacos-server-$version.zip
- Linux/Unix/Mac 启动命令 :
sh startup.sh -m standalone
注:若使用Ubuntu 系统,或者运行脚本报错提示,解决方法
bash startup.sh -m standalone
- Linux/Unix/Mac 关闭
sh shutdown.sh
- Windows 启动
- 解压后在bin 目录下,执行
cmd startup.cmd
- 双击 startup.cmd 运行文件
- windows 关闭
- 命令行关闭
cmd shutdown.cmd
- 双击shutdown.cmd运行文件。
主要功能介绍(暂时介绍目前使用的,详细请看官方文档)
- 服务注册发现
- 配置管理
- …
Nacos 官网:https://nacos.io/zh-cn/docs/what-is-nacos.html
使用
Nacos 分 客户端和服务端,客户端向服务端进行注册,必须要在服务端开启时注册,否则会报注册失败信息。
服务端启动可以参考上述服务端使用。
主流框架整合(本文环境 windows+IDEA)
- Nacos SpringBoot
- 通过 Nacos Server 和 nacos-config-spring-boot-starter 实现配置的动态变更;
- 通过 Nacos Server 和 nacos-discovery-spring-boot-starter 实现服务的注册与发现。
1. 首先创建一个SpringBoot 应用
2.导入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--健康监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
注:Nacos 版本与 SpringBoot 版本有要求,具体版本对应可以看官网。
3. 对SpringBoot 配置文件进行修改
server:
port: 8181
# 服务注册
# 因为本文 Nacos 是在本地启动,使用配置时是向本地发起注册
spring:
cloud:
nacos:
discovery:
# 这里对注册地址进行修改,Nacos 默认地址为 IP 地址+端口号 8848 +/Nacos
server-addr: localhost:8848
application:
name: wknacos
# 健康检查
management:
endpoints:
web:
exposure:
include: "*"
效果图:
服务端启动
启动成功后输入默认地址,如果成功启动会进行Nacos图形管理界面登录,用户名密码默认为nacos.
登录成功后
在没有客户端进行注册时,服务列表没有服务显示的。
启动客户端,向服务端进行注册。
服务注册成功。
整合时可能会碰到的坑:
- 服务注册不上
- 注册超时
- 版本可能引起的其他问题
- 。。。