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进行测试即可

相关推荐
云计算磊哥@30 分钟前
运维开发宝典058-大型网站nginx服务器管理全集4
服务器·nginx·运维开发
一叶龙洲1 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
寒水馨2 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
提笔了无痕3 小时前
MySQL SQL 从 EXPLAIN 到索引优化,搞懂 SQL 为什么慢
android·sql·mysql
辰同学ovo5 小时前
从一条 SQL 到三个原则:MySQL 心智模型
sql·mysql·adb
ziguo11225 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
三8446 小时前
使用Samba/NFS实现文件共享/自动挂载共享目录/autofs自动挂载服务
linux·服务器·网络
高铭杰7 小时前
万物皆可KV(2)SurrealDB 存储布局分析
linux·服务器
Mico187 小时前
MySQL 8.0.35 GTID主从复制常见管理操作
mysql
无小道8 小时前
深入解析操作系统文件缓冲区:页缓存、基数树与f_pos的协同设计
linux·缓存·文件缓冲区