Nacos架构
参考官方文档: https://nacos.io/zh-cn/docs/architecture.html
关于Nacos安装,可以直接参考官网安装https://nacos.io/zh-cn/docs/quick-start.html,我们接下来学习基于Docker实现Nacos单机安装和基于Docker实现Nacos集群安装。
采用Docker-Compose安装Nacos要更方便,所以大家可以先学习一下
Docker-Compose。
Nacos安装模式有多种:
单机模式 Derby:
这种模式是极简模式,数据没法持久化存储,适合开发环境。
单机模式 MySQL:(支持MySQL5.7和MySQL8.0,我们这里学习MySQL5.7安装模式,因为当前主流还是MySQL5.7)
这种模式支持数据持久化,数据会存储到MySQL中,适合生产环境。
集群模式:
这种模式适合生产环境并且服务节点个数较多,不存在单点故障问题。
克隆项目:
#克隆项目 git clone https://github.com/nacos-group/nacos-docker.git
#进入nacos-docker目录 cd nacos-docker
#查看文件列表 cd example
ll
example 中文件列表如下:
当然也可以切换nacos的版本分支
git checkout v2.1.0
Nacos Derby安装
安装Nacos生产环境会结合prometheus和grafana实现对Nacos的监控,
我们这里不做它们的监控操作,需要将docker-compose的配置注释掉,修改example/standalone-derby.yaml ,配置如下:
进入到 example 目录下执行如下命令:
docker-compose -f standalone-derby.yaml up -d
安装完成后,我们可以直接访问它的控制台 http://192.168.145.132:8848/nacos,账号密码都是nacos,效果如下:
关于控制台的使用,我们在后面详细讲解。
Nacos MySQL版安装
1、我们先停掉之前安装的服务,并删掉之前的容器
#停掉容器
docker stop nacos-standalone
#删掉容器
docker rm nacos-standalone
#或者一步到位
docker-compose -f standalone-derby.yaml down
2、使用 example/standalone-mysql-5.7.yaml
version: "3.8"
services:
nacos:
image: nacos/nacos-server:${NACOS_VERSION}
container_name: nacos-standalone-mysql
env_file:
- ../env/nacos-standlone-mysql.env
volumes:
- ./standalone-logs/:/home/nacos/logs
- ./init.d/application.properties:/home/nacos/conf/application.properties
ports:
- "8848:8848"
- "9848:9848"
depends_on:
mysql:
condition: service_healthy
restart: on-failure
mysql:
container_name: mysql
build:
context: .
dockerfile: ./image/mysql/5.7/Dockerfile
image: example/mysql:5.7
env_file:
- ../env/mysql.env
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3306:3306"
healthcheck:
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
interval: 5s
timeout: 10s
retries: 10
3、在 example 目录下使用 docker-compose 命令启动
docker-compose -f standalone-mysql-5.7.yaml up -d
这里可能会报错 需要配置一下hosts
/etc/hosts 下添加
185.199.108.133 raw.githubusercontent.com
这里会加载一些东西 如果端口占用了就停止 删除容器 重新执行一下 docker-compose -f standalone-mysql-5.7.yaml up -d
数据库脚本
在nacos的 nacos\config\src\main\resources\META\INF 工程中有对应脚本,也可以通过下面的网址获取SQL:
https://github.com/alibaba/nacos/blob/develop/config/src/main/resources/META-INF/mysql-schema.sql
创建数据库 nacos_config ,并执行初始化操作,初始化脚本后,数据库数据如下:
4、新建配置,查看存储
此时访问后台 http://192.168.145.132:8848/nacos ,并创建一个配置信息,如下图:
mysql : root root
Docker 安装Nacos
我们也可以直接采用Docker的方式安装Nacos,这样安装不要克隆项目也不需要修改配置文件,会更方便,安装命令如下:
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.145.132 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--restart=always \
--name nacos nacos/nacos-server
注意:需要提取准备好msyql数据库
访问 http://192.168.145.132:8848/nacos