通过上一篇文章:Spring Cloud系列教程 | 第二篇:Nacos下载及安装_once先森的博客-CSDN博客1、前言 基于Nacos的微服务需先行下载Nacos Server,在已经启动的Nacos Server基础上运行。所以点击这里下载Nacos(因GitHub下载很卡,推荐使用https://sourceforge.net/mirror/nacos/activity/)。zip包是Windows版本,tar.gz是Linux版本。当然也可以下载源码自行构建Nacos自定义服务。 本章节已Windows版本nacos-server-1.3.1为例说明。...https://blog.csdn.net/qq_34397273/article/details/120767296 简单了解了Nacos下载及安装方法,本文我们开始基于Nacos走出第一步: 使用Nacos做注册中心
通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。2、快速开始
1、基于JDK11创建Maven项目,命名为“01.Spring-Cloud-Nacos”
2、增加Nacos注册中心相关依赖包,其pom.xml如下
4.0.0 com.once 01.Spring-Cloud-Nacos1.0-SNAPSHOT jar 11 11 Hoxton.SR12 2.2.5.RELEASE2.3.12.RELEASE org.springframework.boot spring-boot-dependencies${spring.boot.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies2.2.5.RELEASE pom import org.springframework.boot spring-boot-starter-webcom.alibaba.cloud spring-cloud-starter-alibaba-nacos-discoveryorg.apache.maven.plugins maven-compiler-plugin2.3.2 ${maven.compiler.source} ${maven.compiler.target} ${project.artifactId}-${project.version}
3、创建Application启动类
package com.once;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class NacosApplication {
public static void main(String[] args) {
SpringApplication.run(NacosApplication.class, args);
}
}
4、登录Nacos操作台,创建命名空间(非必须,默认public),将“命名空间ID”记下以便后续使用。
5、配置bootstrap.yml,如下:
server:
port: 10001
spring:
application:
name: nacos-server
profiles:
active: dev
cloud:
nacos:
discovery:
#nacos服务地址
server-addr: 192.168.0.244:8848
#nacos命名空间
namespace: 1efe864e-7d6a-41d8-aada-ece72d4e36d1
6、启动应用服务后,登录Nacos。在“服务列表”查看相应分组内注册服务信息。
3、Nacos Discovery参数详解spring:
application:
name: nacos-server
cloud:
nacos:
discovery:
# 是否开启Nacos注册
enabled: true
# Nacos服务注册地址
server-addr: 192.168.0.244:8848
# Nacos 认证用户
username: nacos
# Nacos 认证密码
password: nacos
# 配置命名空间ID
namespace: 1efe864e-7d6a-41d8-aada-ece72d4e36d1
# 分组名称
#group: PEARL_GROUP
# 连接Nacos Server指定的连接点
#endpoint: localhost
# 设置注册时本服务IP地址
#ip: 127.0.0.1
# nacos客户端向服务端发送心跳的时间间隔,单位s
#heart-beat-interval: 5
# 集群名称
#cluster-name: DEFAULT
# 心跳超时时间,单位s
#heart-beat-timeout: 15
# 是否注册服务,默认为true
#register-enabled: true
# 当要上阿里云时,阿里云上面的一个云账号名
#access-key:
# 当要上阿里云时,阿里云上面的一个云账号密码
#secret-key:
# nacos客户端日志名,默认naming.log:
#log-name:
# 服务元数据标签
#metadata:
# 服务超时时,多少秒后删除
#ip-delete-timeout: 30
# 负载均衡权重,默认1,取值范围 1 到 100,数值越大,权重越大
#weight: 1
# 监视延迟,从nacos服务器拉取新服务的持续时间,单位ms
#watch-delay: 30000
# 注册服务时的服务名,默认${spring.application.name}
#service: nacos-server
# 服务是否是https
#secure: false
# 注册时本服务的端口,无需设置,自动探测
#port: 8088
# 选择固定网卡
#network-interface: net0
# 是否从本地缓存中,默认false
#naming-load-cache-at-start: false
4、CAP理论
CAP理论是分布式架构中重要理论
- 一致性(Consistency) (所有节点在同一时间具有相同的数据)
- 可用性(Availability) (保证每个请求不管成功或者失败都有响应)
- 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)
| Nacos | Eureka | Consul | CoreDNS | Zookeeper | |
|---|---|---|---|---|---|
| 一致性协议 | CP+AP | AP | CP | — | CP |
1、spring-cloud-alibaba-dependencies 版本依赖
| 维护者 | 版本 |
| org.springframework.cloud | <= 0.9.0.RELEASE |
| com.alibaba.cloud | > 0.9.0.RELEASE |
2、alibaba版本推荐
参考文档:Nacos Spring Cloud 快速开始
微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比



