文章目录
一.概述
2018 阿里巴巴将Nacos开源,nacos是开源后的名字,是基于阿里内部Configserver(注册中心)、Diamond(持久化配置中心)、Vipserver(类似Configserver的注册中心,提供路由信息)的核心代码整合而成,目标是打造全球最牛逼的服务注册以及配置中心。
本文简单部署一个nacos服务,来一个直观的认识。
二.部署步骤
由于是使用docker安装,关于docker相关使用本文不做介绍,可以参考:docker使用
2.1 下载demo文件
nacos在github上提供了demo配置文件,先下载下来:
#从github上clone下来
git clone https://github.com/nacos-group/nacos-docker.git
#进入文件目录
cd nacos-docker
里面有文件如下:
关键是env和example文件。
2.2 安装并启动
启动命令:
#注意最后的-d 表示后台启动,不加-d启动后可能无法访问控制台
docker-compose -f example/standalone-mysql-5.7.yaml up -d
说明:
由于nacos本身不具有存储功能,需要搭配数据库使用,这里我们使用的是mysql5.7。默认支持derby、mysql5.7、mysql8,对应的yaml配置文件在example路径下。
example文件说明:
- standalone-mysql-5.7.yaml :单机模式,使用mysql5.7数据库
- standalone-mysql-8.yaml :单机模式,使用mysql8数据库
- standalone-derby.yaml :单机模式,使用内嵌Derby数据库
- cluster-hostname.yaml :集群模式,使用mysql5.7数据库
- cluster-embedded.yaml :集群模式,使用内嵌derby数据库
启动前需要注意,mysql默认使用3306端口,那么当你服务器中已经安装了mysql并占用了3306,那么会启动失败,这个时候你可以修改nacos配置使用你本地已经安装好的mysql,
也可以直接修改mysql的映射端口,然后在启动,
如下修改standalone-mysql-5.7.yaml文件中mysql的ports:
version: "2"
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/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9848:9848"
- "9555:9555"
depends_on:
- mysql
restart: on-failure
mysql:
container_name: mysql
image: nacos/nacos-mysql:5.7
env_file:
- ../env/mysql.env
volumes:
- ./mysql:/var/lib/mysql
# 将mysql的端口改为3307,避免冲突
ports:
- "3307:3306"
# prometheus:
# container_name: prometheus
# image: prom/prometheus:latest
# volumes:
# - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
# ports:
# - "9090:9090"
# depends_on:
# - nacos
# restart: on-failure
# grafana:
# container_name: grafana
# image: grafana/grafana:latest
# ports:
# - 3000:3000
# restart: on-failure
查看容器
docker ps
2.3 Nacos 控制台
llink:http://127.0.0.1:8848/nacos/
默认用户名/密码:nacos/nacos
登录后界面如下:
因为是注册中心+配置中心,所以主要菜单就是配置管理+服务管理。
默认都是空的,我们可以使用如下命令进行简单的注册和增加配置。
2.4 服务注册与发现
# 随便注册一个服务,参数:服务名、ip、port
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
然后去服务列表查看,发现注册成功的:
2.5 配置发布与获取
增加配置:
随便增加一条配置:
主要是配置data id、Group、以及内容:
然乎到mysql数据库中查看此数据:
也可以调用接口:
# 参数:dataId、group、content
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
本文就先到这里吧。
参考:
https://baijiahao.baidu.com/s?id=1655764444148144522&wfr=spider&for=pc
https://nacos.io/zh-cn/docs/quick-start-docker.html