搭建Nacos版本1.4.1
下载nacos安装包 nacos1.4.1
安装单机nacos
1、解压,进入nacos目录
tar -zxvf nacos-server-1.4.1.tar.gz
cd nacos
2、单机启动nacos
nohup bin/startup.sh -m standalone
3、访问nacos管理端:http://ip:8848/nacos 默认用户名密码:nacos/nacos
Nacos注册中心架构
核心功能:
服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,如:ip地址、端口信息等。Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。
服务心跳:服务注册后,Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务一直处于可用状态,防止被踢除。默认时间间隔是5秒。
服务同步:Nacos Server集群之间会互相同步服务实例,用来保证服务信息的一致性。
服务发现:服务消费者(Nacos Client)在调用服务提供者的服务时,会发送一个REST请求给Nacos Server,获取上面注册的服务清单,并且缓存在Nacos Client本地,同时会在Nacos Client本地开启一个定时任务定时拉取服务端最新的注册表信息更新到本地缓存。
服务健康检查:Nacos Server会开启一个定时任务来检查注册服务实例的健康情况,对于超过15秒没有收到客户端心跳的实例会将它的healthy属性置为false,超过30秒没有收到心跳,则直接踢除该实例。(后续如恢复心跳则重新注册)
搭建Nacos-client服务
1)引入依赖
父项目pom文件中添加spring cloud和spring cloud alibaba
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
当前项目中pom文件添加spring-cloud-starter-alibaba-nacos-discovery
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2)application.yml配置文件
server:
port: 10000
spring:
application:
# 微服务名称
name: service-provider
cloud:
nacos:
discovery:
# nacos server的地址
server-addr: http://101.132.143.77:8848
项目启动后,效果如下: