文章目录
简介
Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 主要功能
- 动态服务发现:支持基于 DNS 和基于 RPC 的服务发现。服务提供者可以主动注册服务,服务消费者可以动态发现服务。
- 动态配置服务:支持云原生微服务动态配置,可以作为数据中心管理和推送配置文件,也可以支持客户端拉取配置信息。
- 动态DNS服务:动态解析域名,可以很方便的实现域名与服务对应关系的动态调整。
- 服务及其元数据管理:支持服务的管理,可以实现服务的上线、下线,并提供服务元数据的管理功能,方便进行服务依赖分析、性能监控等操作。
Nacos 的主要特性
- 服务注册和发现:支持基于 DNS 和基于 RPC 的服务发现。
- 动态配置服务:动态更新和推送配置。
- 动态 DNS 服务:Adding and removing DNS records on the fly.
- 服务及其元数据管理:管理服务及元数据,方便开展服务依赖分析、性能监控等操作。
- 离线实例管理:jox#离线的实例记录,以便其他实例选举主实例时参考。
- 支持开放 API:支持开放平台 API,方便二次开发和扩展。
- 支持多种配置格式:支持 YAML/Properties/XML/JSON 等格式的配置。
- 数据监控:支持对 Nacos 中存储的各类数据的监控,方便数据分析和诊断。
- 多语言支持:支持 Java/C#/.Net Core/Go/等多种语言。
- 高可用性:Nacos 支持 Cluster 模式,轻易实现高可用部署。
windows安装NACOS
1.下载地址
https://github.com/alibaba/nacos/releases/
2.下载后解压
3.还需要配置数据库,以mysql为例
3.1 新建配置数据库nacos-config
3.2 执行在nacos/conf下面的mysql-schema.sql
3.3 生成表如下:
4.bin目录
5.启动
5.1 修改startup.cmd中set MODE="cluster"为 set MODE=“standalone” 然后双击启动
5.2 执行 startup.cmd -m standalone
linux安装NACOS
1.下载地址
https://github.com/alibaba/nacos/releases
2.解压并移动
tar -zxvf nacos-server-2.2.3.tar.gz
mv nacos /usr/local
3.编辑文本
vim startup.sh
4.修改配置
将
export JAVA_HOME=$HOME/jdk/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH={JAVA_HOME}/bin:$PATH
修改为
export JAVA_HOME=/usr/local/java/jdk17.0.4.1
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH={JAVA_HOME}/bin:$PATH
5.编辑application.properties
cd /usr/local/nacos/conf
vim application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://10.114.12.177:3306/nacos-config?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
6.启动
cd /usr/local/nacos/bin
sh startup.sh -m standalone
docker安装NACOS
1.安装
docker pull nacos/nacos-server
2.设置挂载
mkdir -p /mydata/nacos/logs/ #新建logs目录
mkdir -p /mydata/nacos/init.d/
3.修改配置
vim /mydata/nacos/init.d/custom.properties #修改配置文件
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos-config? characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true #这里需要修改端口
db.user=root #用户名
db.password=123456 #密码
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
4.启动 (需要启动8848,9848)
docker run
--name nacos -d
-p 8848:8848
-p 9848:9848 \
--privileged=true
--restart=always
-e JVM_XMS=256m
-e JVM_XMX=256m
-e MODE=standalone
-e PREFER_HOST_MODE=hostname
-v /mydata/nacos/logs:/home/nacos/logs
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
后台地址
地址: http://127.0.0.1:8848/nacos
账号: nacos
密码: nacos
写在最后
如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot,spring cloud等系列文章,一系列干货随时送达!
版权归原作者 fking86 所有, 如有侵权,请联系我们删除。