文章目录
- Nacos服务搭建
- 一、nacos-server 环境搭建
- 二、nacos-mysql 环境搭建
- 三、建 领域模型
- REST访问配置(给其他语言使用)
- 四、nacos-server 集群搭建
Nacos服务搭建
一、nacos-server 环境搭建
1、 [nacos-server主机](考虑到后续开发的问题,建议将当前的Nacos单节点服务主机的IP地址进行一下变更)
打开网卡配置文件,配置静态IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.190.158
2、[nacos-server主机]修改当前主机的名称
vi /etc/hostname
nacos-server
3、[nacos-server主机]修改hosts主机映射文件:
打开主机映射文件,配置主机映射项
vi /etc/hosts
192.168.190.158 nacos-server
4、[nacos-server主机]
为了使配置生效,重新启动当前的主机系统:
reboot
5、将当前于打包完成的”nacos-server- 2.0.2.tar.gz”文件上传到Linux系统之中,可以直按通过FTP方式上传;
为了便于统一管理,本次上传文件保存的父目录为"/var/ftp/" ;
6、[nacos-server主机]
将上传得到的"nacos-server-2.0.2.tar.gz" 文件进行解压缩,解压缩到"/usr/local" 目录之中:
tar xzvf /var/ftp/nacos-server-2.0.2.tar.gz -C /usr/local/
7、 [ nacos-server主机]
按照正常的做法应该是直接通过内部提供的SH命令进行服务启动,但是Nacos所给出的SH脚本命令无法直接使用,必须修改其文件格式
打开配置文件:
vi /usr/local/nacos/bin/startup.sh
vi /usr/local/nacos/bin/shutdown.sh
查看当前格式:
set ff
[得到结果: “fileformat=dos” ]
修改文件格式:
set ff=unix
8、[nacos-server主机] 启动Nacos服务
bash -f /usr/local/nacos/bin/startup.sh -m standalone
9、[nacos-server主机]
在Nacos应用服务启动完成后,下面查看一 下当前Nacos所占用的服务端口信息
netstat -nptl| grep java
10、[ nacos-server 主机]现在仅仅是实现了Nacos服务启动,但是最终访问之前还需要进行防火墙的配置。
配置访问端口:
firewall-cmd --zone=public --add-port=8848/tcp --permanent
firewall-cmd --zone=public --add-port=7848/tcp --permanent
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --zone=public --add-port=9849/tcp --permanent
配置重新加载:
firewall-cmd --reload
11、 [Nacos控制台]服务启动之后,下面通过浏览器访问Linux主机上的控制台:
nacos-server:8848/nacos
二、nacos-mysql 环境搭建
通过Nacos保存所有微服务配置信息的地方是Nacos注册中心的内存里面,但是对于一些配置项(Nacos 领域模型、用户的认证与授权)的操作一般都是保存在数据库之中,同时在Nacos里面也提供了- -些数据库的创建脚本支持。Nacos在进行服务数据存储时分为两类数据信息: -一个是微服务的注册数据,另外一个是相关的服务配置数据,而所有的配置数据在开发中一般不会轻易改变,这样就可以将其存储在MySQL数据库之中
1、[nacos-mysql 主机]
该主机配置的主机名称为"nacos-mysql", 同时IP 地址变更为"192.168.190.159"
vi /etc/sysconfig/network-scripts/ifcfg-ens3
IPADDR=192.168.190.159
vi /etc/hostname
vi /etc/hosts
reboot
2、[nacos-mysql 主机]
在当前的虚拟机里面配置MySQL-8.x数据库,服务启动: service mysqld start
3、[nacos-mysql 主机]
启动MySQL客户端,进行MySQL数据库的连接: /usr/local/mysql/bin/mysql -uroot -p1234 -hnacos-mysql
4、[nacos-mysql主机]在MySQL里面创建一个数据库, 名称为"nacos"
创建新数据库:
CREATE DATABASE nacos CHARACTER SET UTF8;
使用新数据库:
USE nacos;
5、[nacos-server主机]
Nacos 数据存储的表结构是由Nacos给出来的,所以就可以找到Nacos安装包之中所提供的SQL创建脚本,将数据库脚本发送到"nacos-mysql" 主机之中:
scp /usr/local/nacos/conf/nacos-mysql.sql 192.168.190.159:/usr/local/src
6、[nacos-mysql 主机] 利用source命令进行导入即可。
source /usr/local/src/nacos-mysql.sql
7、[nacos-mysql主机] 查看当前所创建的数据表
show tables
如果按照实际的项目开发来讲,此时的程序代码应该继续采用库表分离的设计模型进行操作,因为要考虑到各种极限的高并发访问的处理问题。
8、 [nacos-server主机] 此时需要将当前这个MySQL数据库在Nacos中进行配置,打开Nacos的配置文件:
vi /usr/local/nacos/conf/application.properties
9、[nacos-server主机] 在application.properties配置文件之中定义MySQL的连接信息项:
配置数据源类型: spring.datasource.platform=mysql
数据节点数量: db.num=1
数据库连接地址:
db.url.0=jdbc:mysql://192.168.190.159:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
数据库用户名:db.user.0=root
数据库密码:db.password.0=1234
10、[ nacos-server主机]此时需要重新启动Nacos服务进程,通过内部给出的命令关闭Nacos服务:
/usr/local/nacos/bin/shutdown.sh
11、[nacos-server 主机] 重新启动Nacos服务进程
bash -f /usr/local/nacos/bin/startup.sh -m standalone
12、 [nacos控制台]为了便于验证是否配置正确,可以通过Nacos控制台来进行一个新用户的添加浏览器访问地址:
http://nacos-server:8848/nacos
此时创建了一个新的用户"muyan/yootk" ,创建完成之后查询一下对应数据表内容,观察是否有对应的信息提供。
三、建 领域模型
命名空间Id 96c23d77-8d08-4648-b750-1217845607ee
REST访问配置(给其他语言使用)
1、官方文档
https://nacos.io/zh-cn/docs/open-api.html
2、[POST请求] 创建新的命名空间
http://nacos-server:8848/nacos/v1/console/namespaces?customNamespaceId=&namespaceName=yootk&namespaceDesc=yootk.com
3、[POST请求] 向yootk命名空间进行配置发布
http://nacos-server:8848/nacos/v1/cs/configs?tenant=39ab51a6-e00b-4308-b341-754ff7765487&dataId=dept.provider&group=MICRO_REST&content=www.yootk.com
4、[POST请求]发布新的实例数据
http://nacos-server:8848/nacos/v1/ns/instance?namespaceId=39ab51a6-e00b-4308-b341-754ff7765487&ip=192.168.1.27&port=8090&serviceName=dept.service&groupName=MICRO_REST
5、[GET请求] 查询一个指定的服务信息.
http://nacos-server:8848/nacos/v1/ns/instance?namespaceId=39ab51a6-e00b-4308-b341-754ff7765487&ip=192.168.1.27&port=8090&serviceName=dept.service&groupName=MICRO_REST
6、[DELETE请求] 删除指定的服务实例.
http://nacos-server:8848/nacos/v1/ns/instance?namespaceId=39ab51a6-e00b-4308-b341-754ff7765487&ip=192.168.1.27&port=8090&serviceName=dept.service&groupName=MICRO_REST