【微服务】Nacos数据持久化以及集群的搭建

简介: 【微服务】Nacos数据持久化以及集群的搭建

数据持久化

  • 在单机模式时nacos使用嵌入式数据库实现数据存储,0.7版本后增加了mysql存储数据。

初始化数据库

  • 在conf目录下,提供了nacos-mysql.sqlSQL语句,进行数据库的初始化
  • 要求:5.6+ mysql
  • 注意:如果使用mysql 5.5,需要修改sql语句

image.png

  • 提供的SQL语句没有创建database,手动创建nacos_config  

image.png

开启mysql存储

  • conf目录下,提供了application.properties可以修改数据库配置信息

image.png

### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config_2_1?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1234

测试

  • 添加配置信息

image.png

  • 检查数据库存储  

image.png

Nacos集群搭建

概述

  • 3个或3个以上Nacos节点才能构成集群
  • 配置数据源
  • 使用内置数据源

startup.cmd -p embedded

  • 使用外置数据源(MySQL,参考4.4.2)
  • 在一台主机配置多个节点的端口号==不能连续==。
  • 例如:8841/8842/8843 不可用
  • 例如:8841/8843/8845 可用

配置步骤

image.png

节点1:配置Nacos8841

  1. 配置数据源
  2. 修改端口号:8841
  3. 配置集群配置文件
  4. 启动服务:startup.cmd
  • 节点2:复制Nacos8843
  • 修改端口号:8843
  • 启动服务:startup.cmd
  • 节点3:复制Nacos8845
  • 修改端口号:8845
  • 启动服务:startup.cmd  

配置详情

1)配置节点1

  1. 拷贝nacos,并重命名 nacos-2.1.0-8841
  2. 配置数据源

image.png

修改端口号:8841  

image.png

配置集群配置文件:conf/cluster.conf

image.png

启动服务:startup.cmd

image.png

成功启动  

3.png

2)配置节点2

  • 复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8843
  • 修改端口号

image.png

启动服务

4.png

3)配置节点3

  • 复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8845
  • 修改端口号

image.png

启动服务

5.png

4)配置成功

6.png

常见错误

1)db.num is null

  • 错误提示:db.num is null
  • 原因:没有配置数据库

image.png

2) unable to start embedded tomcat

  • 错误提示:unable to start embedded tomcat
  • 原因1:没有编写集群配置文件

image.png

3)内存不足

  • 提示信息:
  • 原因:内存不足,修改分配内存大小

image.png

4) Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb'

  • 提示信息:Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb
  • 原因:nacos与jdk 系统位数(64位和32位,)不一致

5) JNI相关错误

  • 提示信息: C:\Users\Administrator\AppData\Local\Temp\/librocksdbjni1411968517689619912.dll: Can't find dependent libraries
  • 原因:JAVA_HOME配置的jdk安装目录,而不是jre安装目录
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
人工智能 安全 Nacos
Nacos 3.0:微服务与AI融合的技术新纪元
Nacos 3.0:微服务与AI融合的技术新纪元
375 83
|
8月前
|
人工智能 安全 Java
Nacos 3.0:从微服务治理到AI服务治理的跃迁
Nacos 3.0:从微服务治理到AI服务治理的跃迁
441 5
|
8月前
|
人工智能 自然语言处理 安全
Nacos 3.0:微服务与AI融合的新一代动态治理平台
Nacos 3.0:微服务与AI融合的新一代动态治理平台
439 2
|
8月前
|
人工智能 自然语言处理 Nacos
Nacos 3.0:微服务与AI融合的全新治理平台
Nacos 3.0:微服务与AI融合的全新治理平台
306 46
|
12月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——封装统一返回的数据结构
本文介绍了在Spring Boot中封装统一返回的数据结构的方法。通过定义一个泛型类`JsonResult<T>`,包含数据、状态码和提示信息三个属性,满足不同场景下的JSON返回需求。例如,无数据返回时可设置默认状态码"0"和消息"操作成功!",有数据返回时也可自定义状态码和消息。同时,文章展示了如何在Controller中使用该结构,通过具体示例(如用户信息、列表和Map)说明其灵活性与便捷性。最后总结了Spring Boot中JSON数据返回的配置与实际项目中的应用技巧。
885 0
|
12月前
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——使用 fastJson 处理 null
本文介绍如何使用 fastJson 处理 null 值。与 Jackson 不同,fastJson 需要通过继承 `WebMvcConfigurationSupport` 类并覆盖 `configureMessageConverters` 方法来配置 null 值的处理方式。例如,可将 String 类型的 null 转为 "",Number 类型的 null 转为 0,避免循环引用等。代码示例展示了具体实现步骤,包括引入相关依赖、设置序列化特性及解决中文乱码问题。
601 0
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
768 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
388 1