SpringCloudAlibaba之Nacos的持久化和高可用——详细讲解

目录

一、Nacos持久化

1.持久化说明

2.安装mysql数据库5.6.5+以上版本(略)

3.修改配置文件

二、nacos高可用

1.集群说明

2.nacos集群架构图

2.集群搭建注意事项

3.集群规划

4.搭建nacos集群

5.安装Nginx

[6.配置nginx conf配置文件](#6.配置nginx conf配置文件)

7.启动nginx进行测试即可


一、Nacos持久化

1.持久化说明

在0.7版本之前,在单机模式时nacos使用嵌入式数据库(derby)实现数据的存储,不方便观察数据存储的基本情况。

0.7版本增加了支持mysql数据源能力,具体的操作步骤:

1.安装数据库,版本要求:5.6.5+

2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql

3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

2.安装mysql数据库5.6.5+以上版本(略)

  • 添加官方的yum源创建并编辑mysql-community.repo文件

vi /etc/yum.repos.d/mysql-community.repo

  • 粘贴以下内容到源文件中

[mysql57-community]

name=MySQL 5.7 Community Server

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

  • 安装mysql

yum install mysql-community-server -y

  • 启动mysql数据库

systemctl start mysqld

  • 修改mysql数据库密码

grep 'temporary password' /var/log/mysqld.log

mysqladmin -u root -p password 回车 输入原始密码 在输入新的密码

  • 登录mysql

mysql -uroot -p'yourPwd'

  • 修改远程连接

grant all privileges on *.* to 'root'@'%' identified by 'yourPwd' with grant option;

flush privileges;

3.修改配置文件

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

&useUnicode=true&useSSL=false&serverTimezone=UTC

db.user=root

db.password=yourPwd

二、nacos高可用

1.集群说明

集群 cluster : 统一种软件服务的多个节点对一个系统提供服务称之为这个软件服务集群 tomcat集群 mysql集群 redis集群 es集群...

集群解决问题:

1.并发访问压力

2.单节点故障问题

2.nacos集群架构图

集群部署说明

2.集群搭建注意事项

注意:

a.3个或3个以上Nacos节点才能构成集群。

b.要求虚拟机内存分配必须大于2G以上

3.集群规划

node cluster:

ip 8845 nacos01

ip 8846 nacos02

ip 8847 nacos03

ip 9090 nginx

ip 3306 mysql

4.搭建nacos集群

1).将nacos安装包从新解压缩

2).开启nacos mysql持久化

注意:数据库中不能存在原始数据

3).修改nacos conf目录中cluster.conf文件添加所有集群节点

ip:8845

ip:8846

ip:8847

4).将修改后nacos复制三份

注意:修改为不同端口信息

5).分别启动三台机器

./startup.sh

5.安装Nginx

  • 0.安装必要依赖

yum install -y gcc pcre-devel zlib-devel

  • 1.下载Nginx

http://nginx.org/en/download.html

  • 2.将Nginx上传到linux中,并解压缩

tar -zxvf nginx-1.11.1.tar.gz

  • 3.查看Nginx安装目录

[root@localhost nginx-1.11.1]# ls

auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src

  • 4.在Nginx安装目录中执行如下命令:(指定安装位置)

./configure --prefix=/usr/nginx

  • 5.执行上述命令后,执行如下命令:

make && make install

-6. 启动

1.进入sbin目录 启动命令:./nginx

查看nginx 是否启动成功 : ps aux|grep nginx 默认监听端口为80:端口 http://主机:80

2.关闭 Nginx 服务 ./nginx -s stop

3.加载配置启动 ./nginx -c /usr/nginx/conf/nginx.conf

6.配置nginx conf配置文件

a.加入如下配置:

upstream nacos-servers {

server ip:8845;

server ip:8846;

server ip:8847;

}

b.修改

location / {

proxy_pass http://nacos-servers/;

}

7.启动nginx进行测试即可

相关推荐
敲代码娶不了六花34 分钟前
jsp | servlet | spring forEach读取不了对象List
java·spring·servlet·tomcat·list·jsp
彩虹糖_haha34 分钟前
Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
linux·运维·服务器
旺仔学IT34 分钟前
Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
linux·运维·centos
ROCKY_81736 分钟前
Mysql复习(二)
数据库·mysql·oracle
qq_433618442 小时前
shell 编程(五)
linux·运维·服务器
denglei.3 小时前
在Nginx部署Web应用,如何保障后端API的安全
nginx·安全
问道飞鱼3 小时前
【知识科普】认识正则表达式
数据库·mysql·正则表达式
HaiFan.3 小时前
SpringBoot 事务
java·数据库·spring boot·sql·mysql
广而不精zhu小白5 小时前
CentOS Stream 9 挂载Windows共享FTP文件夹
linux·windows·centos
一休哥助手5 小时前
全面解析 Linux 系统监控与性能优化
linux·运维·性能优化