一、安装Nacos

1.1 docker 安装Nacos

  • docker-compose.yml ```shell version: “3” services: nacos: image: nacos/nacos-server:2.0.3 container_name: nacos-standalone-mysql env_file:
    1. #需要先安装好mysql, 注意初始化sql
    2. # MYSQL_SERVICE_DB_PARAM 参数注意用单引号包裹 '',不然会报奇怪的错误
    3. #MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8mb4&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false'
    4. - ./nacos-standlone-mysql.env
    volumes:
    1. - /opt/nacos/standalone-logs/:/home/nacos/logs #日志
    2. #- /opt/init.d/custom.properties:/home/nacos/init.d/custom.properties #初始化配置
    ports:
    1. - "8848:8848"
    networks:
    1. - blog-nextwork
    restart: always

networks: blog-nextwork: external: true # 指定外部创建的网络,不再创建

  1. - 常量
  2. ```java
  3. MODE=standalone
  4. SPRING_DATASOURCE_PLATFORM=mysql
  5. # mysql 外部启动mysql 的服务名称
  6. MYSQL_SERVICE_HOST=mysql
  7. MYSQL_SERVICE_DB_NAME=nacos_devtest
  8. MYSQL_SERVICE_PORT=3306
  9. # 登录账号有 数据库中 user表记录的用户
  10. #MYSQL_SERVICE_USER=nacos
  11. #MYSQL_SERVICE_PASSWORD=mysql@nacos
  12. NACOS_AUTH_ENABLE=true
  13. MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
  • 启动
    1. # 注意先创建网络
    2. # 创建关联的数据库
    3. docker-compose -f docker-compose.yml up -d

1.2 访问Nacos

  1. http://localhost:8848/nacos/#/login
  2. #账号密码都是 nacos

image.png

二、简单了解Nacos

2.1 基本架构

image.png

2.2、什么是 Nacos?

Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:

  • Kubernetes Service
  • gRPC & Dubbo RPC Service
  • Spring Cloud RESTful Service

2.3、Nacos的特性:

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理

三、使用Nacos 作为服务注册中心

3.1、依赖

  1. <!--引入nacos 服务发现-->
  2. <dependency>
  3. <groupId>com.alibaba.cloud</groupId>
  4. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  5. </dependency>

3.2、开启 @EnableDiscoveryClient

  1. @EnableDiscoveryClient
  2. @SpringBootApplication
  3. public class AdminManagementApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(AdminManagementApplication.class, args);
  6. }
  7. }

3.3、配置文件

  1. spring:
  2. profiles:
  3. active: dev
  4. application:
  5. name: blog_admin
  6. cloud:
  7. nacos:
  8. discovery:
  9. #注册中心地址
  10. server-addr: http://127.0.0.1:8848
  11. username: nacos
  12. password: nacos

参考