nacos集群搭建

文档来自:https://www.bilibili.com/video/BV1bP4y1p7KF?p=3&spm_id_from=pageDriver

1.什么是nacos

官方:一个更容易构建云原生应用的动态服务发现(Nacos Discovery)、服务配置(Nacos Config)和服务管理平台

集注册中心+配置中心+服务管理平台

 

Nacos的关键特性包括:

服务发现和服务健康检测

动态配置服务

动态DNS服务

服务及其元数据管理

 

2.Nacos注册中心

管理所有微服务、解决微服务之间调用关系错综复杂、难以维护的问题

 

2.1核心功能

服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Nacos Server接收注册请求之后,就会把这些元数据信息存储在一个双层的内存Map中

服务心跳:在服务注册之后,Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务一直处于可用状态,防止被剔除。默认5s发送一次

服务同步:Nacos Server集群之间会互相同步服务实例,用来保证服务信息的一致性

服务发现:服务消费者(Nacos Client)在调用服务提供者的服务时,会发送一个REST请求给Nacos Server,获取上面注册的服务清单,并且缓存在Nacos Client本地,同时会在Nacos Client本地开启一个定时任务定时拉取服务端最新的注册表信息更新到本地服务缓存

服务健康检查:Nacos Server会开启一个定时任务用来检查注册服务实例的健康检查情况,对于超过15s没有收到客户端心跳的实例会将它的healthy属性置为false(客户端服务发现是不会发现),如果某个实例超过30s没有收到心跳,直接剔除该实例(被剔出的实例如果恢复发送心跳则会重新注册)

 

 

 

一:集群部署:
Nacos 集群(至少三个实例)
高可用数据库集群(取代 Nacos 内嵌数据库)
3个或3个以上Nacos节点才能构成集群,仅支持linux/unix/mac

1.下载源码或者安装包
安装包地址:https://github.com/alibaba/nacos/releases
环境准备:

 

 

二:搭建步骤:
1.初始化 nacos 必须的数据库表并配置
找到 Nacos 安装目录下提供的数据库脚本文件

 

 

2.创建数据库:
mysql> CREATE DATABASE nacos_config;
Query OK, 1 row affected (0.03 sec)
查看数据库:
mysql> show databases;

 

 


3.将nacos-mysql.sql导入到nacos_config库中:
[root@cszc-mysql-dev ~]# mysql -uroot -p’xxxxx’ -B nacos_config < nacos-mysql.sql

 

 


4.修改 Nacos 配置文件,指向 MySQL 实例,替换其内嵌数据库

spring.datasource.platform=mysql
db.url.0=jdbc:mysql://192.168.130.206:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=xxxxx

 

 


说明:三台 nacos 实例都需要切换 MySQL 平台,均需执行以上操作

5.复制 cluster.conf 文件
[root@rabbitmq01 conf]# cp cluster.conf.example cluster.conf
[root@rabbitmq01 conf]# vim cluster.conf


说明:三台 nacos 实例都需要做以上集群配置,至此关于 nacos 的配置结束了,可以尝试以集群模式启动三个 nacos 实例了

 

6.启动命令:
[root@rabbitmq03 bin]# pwd
/data/prog/nacos/bin
[root@rabbitmq01 bin]# sh startup.sh

nacos默认使用8848端口,可通过http://192.168.130.[217,218,219]:8848/nacos/index.html进入自带的控制台界面,默认用户名/密码是nacos/nacos

 

 

7.Nginx配置
修改Nginx文件nginx.conf

 

 


[root@cszc-web-qianduan-dev conf.d]# nginx -s reload

浏览器输入http://nacos.dev.com/nacos/#/login

 

 


三:设置开机自启
1.在目录自动存放启动文件的配置位置一般为XX.service结尾
[root@rabbitmq01 bin]# vim /usr/lib/systemd/system/nacos.service

[Unit]
Description=nacos
After=network.target

[Service]
Type=forking
User=nacos
Environment=JAVA_HOME=/data/prog/java8
ExecStart=/data/prog/nacos/bin/startup.sh
ExecReload=/data/prog/nacos/bin/shutdown.sh
ExecStop=/data/prog/nacos/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

 


2.创建用户nacos
[root@rabbitmq01 ~]# useradd -s /sbin/nologin nacos
[root@rabbitmq01 ~]# chown -R nacos:nacos /data/prog/nacos/
[root@rabbitmq01 bin]# systemctl daemon-reload
[root@rabbitmq01 bin]# systemctl enable nacos —now
Created symlink from /etc/systemd/system/multi-user.target.wants/nacos.service to /usr/lib/systemd/system/nacos.service.

 

 


posted @ 2021-06-02 17:59  虞岩  阅读(449)  评论(0编辑  收藏  举报