我的项目和文档
- github国内镜像站
https://kgithub.com/ - nacos我的项目地址https://kgithub.com/alibaba/nacos/releases
- nacos-docker我的项目地址
https://kgithub.com/nacos-group/nacos-docker/blob/master/READ... - nacos中文文档
https://nacos.io/zh-cn/docs/quick-start.html
镜像和部署
- 最新的docker镜像(nacos服务端)
docker pull nacos/nacos-server:v2.2.0
- 数据库初始化脚本下载
https://raw.kgithub.com/alibaba/nacos/develop/distribution/co... - 将数据库初始化脚本mysql-schema.sql搁置到docker-compose.yml文件的同一个目录
- 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:
- 目录构造如
启动/进行命令
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 服务
- 服务及其元数据管理