我的项目和文档

  1. github国内镜像站
    https://kgithub.com/
  2. nacos我的项目地址https://kgithub.com/alibaba/nacos/releases
  3. nacos-docker我的项目地址
    https://kgithub.com/nacos-group/nacos-docker/blob/master/READ...
  4. nacos中文文档
    https://nacos.io/zh-cn/docs/quick-start.html

镜像和部署

  1. 最新的docker镜像(nacos服务端)
    docker pull nacos/nacos-server:v2.2.0
  2. 数据库初始化脚本下载
    https://raw.kgithub.com/alibaba/nacos/develop/distribution/co...
  3. 将数据库初始化脚本mysql-schema.sql搁置到docker-compose.yml文件的同一个目录
  4. nacos docker-compose配置
version: "3.8"services:  nacos-server:    image: nacos/nacos-server:v2.2.0    environment:      # 系统启动形式: 集群/单机,cluster/standalone 默认 cluster      MODE: standalone      # 数据库类型      SPRING_DATASOURCE_PLATFORM: mysql      # mysql地址:能够间接援用docker-compose内的服务名称,也能够援用主机ip      MYSQL_SERVICE_HOST: nacos-mysql      # 如果mysql地址用的是服务名,这里就用容器端口;如果mysql地址用的是主机ip,那么就用主机映射端口      MYSQL_SERVICE_PORT: "3306"      MYSQL_SERVICE_DB_NAME: nacos_devtest      MYSQL_SERVICE_USER: root      MYSQL_SERVICE_PASSWORD: root      MYSQL_SERVICE_DB_PARAM: "characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true"            # 内存参数      JVM_XMS: "1g"      JVM_XMX: "1g"      # 是否开启近程调试      NACOS_DEBUG: "n"          volumes:      - "./logs:/home/nacos/logs"    ports:      # 主端口,web端口      - "8848:8848"      # grpc端口,应该等于 映射主端口 + 1000 (Nacos2.0的gRPC端口均通过主端口的偏移量计算产生,因而端口转发也须要满足该偏移量)      - "9848:9848"      # grpc端口,应该等于 映射主端口 + 1001      - "9849:9849"    depends_on:      nacos-mysql:        condition: service_healthy#    restart: on-failure  nacos-mysql:    image: mysql:5.7    environment:      # root用户明码      MYSQL_ROOT_PASSWORD: root      # 运行时须要创立的数据库名称      MYSQL_DATABASE: nacos_devtest      # 运行时须要创立的用户名      MYSQL_USER: nacos      # 运行时须要创立的用户,对应的明码      MYSQL_PASSWORD: nacos    volumes:      - "./mysql-schema.sql:/docker-entrypoint-initdb.d/nacos-mysql.sql"      - "nacos-mysql_data:/var/lib/mysql"    ports:      - "8806:3306"    command:       - "--character-set-server=utf8mb4"      - "--collation-server=utf8mb4_unicode_ci"    healthcheck:      test: [ "CMD", "mysqladmin", "-uroot", "-proot" ,"ping", "-h", "localhost" ]      interval: 5s      timeout: 10s      retries: 10volumes:  nacos-mysql_data:
  1. 目录构造如
  2. 启动/进行命令
    docker-compose up &
    docker-compose stop

    nacos客户端

    <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.2.1-RC</version></dependency>

客户端的依赖还是十分多的,包含:

  • httpclient http协定的客户端
  • grpc 谷歌基于HTTP/2协定的“近程过程调用库”,相似java RMI
  • netty 非阻塞式的网络库(TCP、UDP)
  • protobuf 对象序列化库
  • guava 谷歌常用工具库

    nacos性能

  • 服务发现和服务衰弱监测
  • 动静配置服务
  • 动静 DNS 服务
  • 服务及其元数据管理