Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:
Kubernetes Service
gRPC & Dubbo RPC Service
Spring Cloud RESTful Service
Nacos 的关键特性包括:
一图看懂 Nacos,下面架构部分会详细介绍。
如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
Spring Cloud
Apache Dubbo and Dubbo Mesh
Kubernetes and CNCF
使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。
IP地址 | 操作环境 | 运行资源 | 备注 |
---|---|---|---|
192.168.8.88 | Centos7.5 | 2C8G | JDK、MySQL、Nacos |
[root@localhost packages]# tar -zxf jdk-8u171-linux-x64.tar.gz -C /usr/local/
[root@localhost packages]# cd /usr/local
[root@localhost local]# mv jdk1.8.0_171/ java
[root@localhost local]# vim /etc/profile
#尾部添加
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
[root@localhost local]# source /etc/profile
[root@localhost local]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[root@localhost mysql]# mkdir /data
vim /etc/selinux/config
#修改
SELINUX=disabled
systemctl stop firewalld && systemctl disable firewalld
reboot
[root@localhost mysql]# rpm -Uvh /root/packages/mysql/*.rpm --nodeps --force
vim /etc/my.cnf
[mysqld]
server_id=1
log_bin = /data/mysql/mysql-bin
max_connections=1000
lower_case_table_names = 1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
expire_logs_days=1
datadir=/data/mysql
socket=/data/mysql/mysql.sock
max_allowed_packet=4G
wait_timeout=288000
interactive_timeout = 288000
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/data/mysql/mysql.sock
systemctl start mysqld.service
systemctl status mysqld.service
grep "password" /var/log/mysqld.log
[root@localhost mysql]# mysql -uroot -p
Enter password: 输入从日志获取的密码
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY '数据库密码';
grant all on *.* to root@'%' identified by '数据库密码';
#设置开机自启动
systemctl enable mysqld
#重启数据库
systemctl restart mysqld
#开启数据库
systemctl start mysqld
#停止数据库
systemctl stop mysqld
[root@localhost packages]# tar -zxf nacos-server-2.2.3.tar.gz
从服务器中将mysql-schema.sql文件导出到电脑
或者 在主机将nacos的安装包解压同样可以获取到sql文件
使用navicat导入sql文件
或者 可以通过终端进入MySQL数据库进行导入
[root@localhost ~]# mysql -uroot -p
Enter password:#输入密码
mysql> use nacos;
Database changed
mysql> source /root/packages/nacos/conf/mysql-schema.sql;
进入conf目录,复制一份cluster.conf.example,修改名称为cluster.conf
[root@localhost conf]# pwd
/root/packages/nacos/conf
[root@localhost conf]# cp cluster.conf.example cluster.conf
修改cluster.conf内容
[root@localhost conf]# vi cluster.conf
修改application.properties文件
[root@localhost conf]# vi application.properties
前面的数字为行号,可能有所不同,以实际为准
#修改端口号
#23#
server.port=8848
#119#
server.tomcat.accesslog.enabled=false
#开启权鉴
#138#
nacos.core.auth.enabled=true
#141#
nacos.core.auth.caching.enabled=true
#144#
nacos.core.auth.enable.userAgentAuthWhite=false
#148#
nacos.core.auth.server.identity.key=example
#149#
nacos.core.auth.server.identity.value=example
#156#
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234582254644945479
#添加配置(注意修改数据库地址和密码)
#37取消注释#
spring.sql.init.platform=mysql
### Count of DB:
#40取消注释#
db.num=1
### Connect URL of DB:
#43-45取消注释并修改配置#
db.url.0=jdbc:mysql://192.168.8.88:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123.com
### Connection pool configuration: hikariCP
#48-51#
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
[root@localhost bin]# pwd
/root/packages/nacos/bin
[root@localhost bin]# ls
shutdown.cmd shutdown.sh startup.cmd startup.sh
[root@localhost bin]# ./startup.sh -m standalone #单机启动
访问http://192.168.8.88:8848/nacos
用户名:nacos 密码:nacos