Nacos概述
Nacos
Nacos是阿里巴巴开源的服务注册中心及配置中心,致力于给开发者提供一款便捷、简单上手的开源框架
Nacos=注册中心Eureka + 服务配置Config + 服务总线Bus
服务发现和服务健康监测
Nacos 使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。
动态配置服务
动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重 新部署应用程序,这使配置的更改更加高效和灵活。
动态 DNS 服务
Nacos提供基于DNS协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以域名的方式暴露端点,让三方应用方便查阅及发现。
服务及其元数据管理
Nacos能让您从微服务平台建设的视觉管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。
docker安装nacos
拉取镜像
docker pull nacos/nacos-server
单机版部署(记得修改ip)
docker run --name nacos -d -p 8848:8848 -e MODE=standalone -e NACOS_SERVER_IP=192.168.66.101 nacos/nacos-server
MODE:单节点模式
NACOS_SERVER_IP:服务ip地址
启动
docker start nacos
访问
192.168.66.101:8848/nacos
用户名密码都是nacos
编辑
搭建父项目
创建maven项目cloudAlibaba
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>cloudAlibaba</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <!-- 统一管理jar包版本 --> <properties> <spring-boot.version>2.6.3</spring-boot.version> <spring-cloud.version>2021.0.1</spring-cloud.version> <spring.cloud.alibaba.version>2021.0.1.0</spring.cloud.alibaba.version> </properties> <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version --> <dependencyManagement> <dependencies> <!--spring boot 2.6.3--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud 2021.0.1--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring-cloud-alibaba 2021.0.1.0--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring.cloud.alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>
创建子模块注册到nacos上
在父项目中创建maven子项目cloud-provider9001
pom.xml
<dependencies> <!--nacos-discovery--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--SpringMVC--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--Actuator--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies>
配置文件
server: port: 8001 spring: application: name: cloud-provider9001 cloud: nacos: discovery: # Nacos服务地址 server-addr: 192.168.66.101:8848
主启动类
@EnableDiscoveryClient//注解开启服务注册与发现功能 @SpringBootApplication public class provider9001 { public static void main(String[] args) { SpringApplication.run(provider9001.class,args); } }