一 nacos介绍
Nacos (Name Configurations)
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
0.版本选择
您可以在Nacos的release notes及博客中找到每个版本支持的功能的介绍,当前推荐的稳定版本为2.0.3。
1.预备环境准备
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
- 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
- 64 bit JDK 1.8+;下载 & 配置。
- Maven 3.2.x+;下载 & 配置。
2.下载源码或者安装包
你可以通过源码和发行包两种方式来获取 Nacos。
https://nacos.io/zh-cn/
https://github.com/alibaba/nacos/releases
https://github.com/alibaba/nacos/releases/tag/2.0.3
2.1 先解压
启动查看
访问地址:http://162.14.64.72:8848/nacos
初始化账户和密码:nacos和nacos
进入页面
出现以上页面 nacos 搭建完成
三、创建服务注册
3.1 导入依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR12</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
3.2 添加注解
@EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class NacosServerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosServerApplication.class,args);
}
}
3.3 编写bootstrap.yml
server:
port: 9011
spring:
application:
name: publisher
cloud:
nacos:
discovery:
server-addr: http://162.14.64.72:8848 #nacos 服务地址
management:
endpoints:
web:
exposure:
include: "*" #健康检查
3.4 查看服务列表
四 、nacos的配置中心
命名空间(namespace )、组(group)、dataid
命名空间:相当于我们的gitee上的仓库名字(默认的命名中间:public)
组:相当于我们的分支(master、dev等)(默认的组为:DEFAULT_GROUP)
dataid:相当于唯一表示(命名规范:服务名-扩展名.后缀(如:customer-dev.yml))
4.1 创建命令空间