Nacos异地备份方案

Nacos sync的实现样例

项目地址

软件下载:https://github.com/nacos-group/nacos-sync/releases
官方文档:https://nacos.io/docs/v2/ecology/use-nacos-sync/#_top

介绍

NacosSync是一个支持多种注册中心的同步组件,基于Spring boot开发框架,数据层采用Spring Data JPA,遵循了标准的JPA访问规范,支持多种数据源存储,默认使用Hibernate实现,更加方便的支持表的自动创建更新 。使用了高效的事件异步驱动模型,支持多种自定义事件,使得同步任务处理的延时控制在3s,8C16G的单机能够支持6K的同步任务
NacosSync除了单机部署,也提供了高可用的集群部署模式,NacosSync是无状态设计,将任务等状态数据迁移到了数据库,使得集群扩展非常方便 。抽象出了Sync组件核心接口,通过注解对同步类型进行区分,使得开发者可以很容易的根据自己需求去扩展不同注册中心,目前已支持的同步类型

Nacos数据同步到Nacos
Zookeeper数据同步到Nacos
Nacos数据同步到Zookeeper
Eureka数据同步到Nacos
Consul数据同步到Nacos

系统模块架构

在这里插入图片描述

控制台

同步任务管理页面

在这里插入图片描述

注册中心管理页面

在这里插入图片描述

使用场景

在这里插入图片描述

部署样例

安装基础环境

操作系统支持:64位的Linux/Unix/Mac/Windows supported/Mac recommended

JDK:64bit JDK 1.8+
Maven:3.2.x+
MySQL:5.6.+

下载二级制包:

https://github.com/nacos-group/nacos-sync/releases/download/0.5.0/nacos-sync-0.5.0.tar.gz

解压

$ tar -C ./ -xf nacos-sync-0.5.0.tar.gz
$ tree nacos-sync

在这里插入图片描述

初始化数据库

系统默认配置的数据库是mysql,也支持其他的关系型数据库。缺省的数据库名字为“nacos_Sync”,数据库表不需要单独创建,默认使用了hibernate的自动建表功能,如果环境不支持自动建表,可以使用系统自带的sql脚本建表,脚本放在bin目录下,下面给出了建库建表命令

mysql> create database nacos_sync default character set utf8mb4 collate utf8mb4_general_ci;
mysql> use nacos_sync;
mysql> source /home/user/nacos-sync/bin/nacosSync.sql;

在这里插入图片描述

配置数据库

$ vim nacos-sync/conf/application.properties

在这里插入图片描述

启动服务

$ nacos-sync/bin/startup.sh start
$ ss -tnl | grep 8083

在这里插入图片描述
如果报错可以查看nacos-sync/logs/nacos-sync-start.out的日志文件排错
在这里插入图片描述

控制台访问

http://10.8.2.22:8083/#/serviceSync

在这里插入图片描述

同步配置

打开控制台的“集群配置”–>“新增集群”出现下面界面,填写集群名字,集群类型如NACOS集群,填写集群地址,如果是k8s部署的集群,填写svc暴露的nodePort即可
注意:集群名字可以自定义,但是一旦确认便不能被修改,否则基于此集群增加的任务,在NacosSync重启后将不会恢复成功
在这里插入图片描述
在这里插入图片描述
无论是单向复制还是双向同步都需要配置两个集群的配置信息
在这里插入图片描述

创建双向同步任务

单向复制如A集群–>B集群,只需要配置单向同步任务即可,同样的逻辑和道理,如果实现双向同步,那么就要配置A集群–>B集群和B集群–>A集群的双向同步任务
打开控制台页面的“同步任务”–>“新增任务”,根据实际情况进行如图配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此异地双活复制同步实现的简单过程已经完成

注意事项

同步任务添加之后,需要确保下服务是否成功同步到目标集群,可以通过目标集群的控制台进行查询
NacosSync支持高可用集群模式部署,只需要把数据库配置成同一个即可
如果梳理不清楚订阅和发布的服务,建议可以把服务都做双向同步
Dubbo客户端目前不支持Nacos的权重功能,如果用到了权重功能,需要重新考虑一下方案是否合适

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/903514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STL-常用容器-list

1list基本概念 **功能:**将数据进行链式存储 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成:链表由一系列结点组成 结点的组成:一个是存储…

qt配置https请求

qt应用版本 windows 32位 先说下心理路程,你能遇到的我都遇到了,你能想到的我都想到了,怎么解决看这一篇就够了,从上午12点到晚上12点几乎没离开电脑(除了吃饭),对于openssl这种用的时候无感&am…

Outlook域名邮箱设置教程:配置烽火邮箱?

Outlook域名邮箱同步技巧?如何注册outlook域名邮箱? Outlook域名邮箱不仅提供了高效的邮件管理功能,还能与企业的域名相结合,提升品牌形象。烽火将详细介绍如何在Outlook中配置烽火邮箱,确保您能够顺利使用Outlook域名…

RabbitMQ替换默认端口

前提:客户通过漏洞扫描,发现rabbitmq中的erlang是默认端口4369,出于安全的考虑,需要将erlang的端口修改为其他的端口。 1.查看默认erlang的默认端口 netstat -plnt | grep 4369 2.关闭rabbitmq rabbitmqctl stop(注…

Elastic Stack - FileBeat 入门浅体验

Filebeat 是 Elastic Stack 中的一个轻量级日志转发器,主要用于收集和转发日志数据。Filebeat 作为代理安装在您的服务器上,可以监控您指定的日志文件或位置,收集日志事件,并将其转发到 Elasticsearch 或 Logstash 进行索引。 一…

HTTP cookie 与 session

一.Cookie 定义: 是服务器发送到用户浏览器并保存在浏览器上的一小块数据, 它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。 通常, 它用于告知服务端两个请求是否来自同一浏览器, 如保持用户的登录状态、 …

Windows下将网盘挂载到本地使用(Docker+AList+RaiDrive)

文章目录 安装安装Docker安装Alist安装RaiDrive 安装 安装Docker Windows下安装Docker网上有很多教程,也可以参考我写的博客链接 3.1章节 安装Alist 官网 “切换中文”并找到“使用指南” ”安装“–>"使用Docker” 打开cmd执行如下命令启动容器 do…

怎样消除原唱只留伴奏?一键消音!伴奏版轻松制作

在音乐制作、翻唱或卡拉OK等场合,我们经常需要消除歌曲中的原唱声音,只保留伴奏部分。这样做可以让其他人更容易地在原有伴奏的基础上进行演唱或创作。但是,要怎样才能有效地消除原唱,同时又不损害伴奏的质量呢?本文将…

【vue+Naive UI】自定义tabbar切换,以及使用n-data-table展示对应表格实战

效果图如上 ##### 一、具体代码 <template><div :style="{ width }" class="top-tab-selector"><divclass=

springboot092安康旅游网站的设计与实现(论文+源码)_kaic

毕业设计&#xff08;论文&#xff09; 基于JSP的安康旅游网站的设计与实现 姓  名 学  号 院  系 专  业 指导老师 2021 年 月 教务处制 目 录 目 录 摘 要 Abstract 第一章 绪论 1.1 研究现状 1.2 设…

【棉花种类数据集】棉花种类识别 深度学习 人工智能 含数据集

一、背景意义 棉花是全球重要的经济作物&#xff0c;广泛应用于纺织和医药等多个领域。随着可持续发展和高效农业的需求增加&#xff0c;研究不同棉花种类的特性和产量变得尤为重要。利用深度学习技术对这些种类进行分类和识别&#xff0c;不仅能够提升农业生产效率&#xff0c…

Cesium基础-(Entity)-(Corridor 走廊)

里边包含Vue、React框架代码详细步骤、以及代码详细解释 4、Corridor 走廊 以下是 CorridorGeometry 类的属性、方法和静态方法,以表格形式展示: 属性 属性名类型默认值描述positionsArray.定义走廊中心的坐标点数组。widthnumber走廊

CH569开发前的测试

为了玩转准备Ch569的开发工作 &#xff0c;准备了如下硬件和软件&#xff1a; 硬件 1.官方的 Ch569 开发板&#xff0c;官方买到的是两块插接在一起的&#xff1b;除了HSPI接口那里的电阻&#xff0c;这两块可以说是一样的。也意味着两块板子的开发也需要烧录两次&#xff1b…

深度学习(五):语音处理领域的创新引擎(5/10)

一、深度学习在语音处理中的崛起 在语音处理领域&#xff0c;传统方法如谱减法、维纳滤波等在处理复杂语音信号时存在诸多局限性。这些方法通常假设噪声是平稳的&#xff0c;但实际噪声往往是非平稳的&#xff0c;导致噪声估计不准确。同时&#xff0c;为了去除噪声&#xff0…

如何通过自动化有效地简化 Active Directory 操作?

我们都知道规模稍微大一点的企业为了便于计算机的管理&#xff0c;基本都上了微软的AD域控制器。 那么肯定就会存在这么一个问题&#xff0c; 不断的会有计算机加入或者是退出域控制器&#xff0c;批量的创建、修改、删除AD域用户&#xff0c;如果企业的架构需要改变&#xff…

ctfshow(175->178)--SQL注入--联合注入及其过滤

Web175 进入界面&#xff1a; 审计&#xff1a; 查询语句&#xff1a; $sql "select username,password from ctfshow_user5 where username !flag and id ".$_GET[id]." limit 1;";返回逻辑&#xff1a; if(!preg_match(/[\x00-\x7f]/i, json_enc…

FreeRTOS 任务调度详解

目录 一、引言 二、FreeRTOS 任务调度概述 1.任务的概念 2.任务调度的作用 三、FreeRTOS 任务调度策略 1.优先级抢占式调度 2.时间片轮转调度 四、FreeRTOS 任务调度相关 API 1.任务创建函数 2. 任务删除函数 3.任务挂起和恢复函数 4.任务延迟函数 五、注意事项 …

健康之路押注医药零售:毛利率下滑亏损扩大,医疗咨询人次大幅减少

《港湾商业观察》黄懿 2024年9月13日&#xff0c;健康之路股份有限公司&#xff08;下称“健康之路”&#xff09;再次递表港交所&#xff0c;建银国际为独家保荐人。健康之路国内运营主体为健康之路&#xff08;中国&#xff09;信息技术有限公司和福建健康之路信息技术有限公…

(二)HTML入门

目录 1.标题排版 2.标题样式 3.正文排版 4.页面布局 5.表格、表单标签 1.标题排版 图片标签&#xff1a;<img>&#xff0c;src&#xff1a;指定图像的url(绝对路径/相对路径) width&#xff1a;图像的宽度(像素/相对于父元素的百分比) height&#xff1a;图像的高…

若依框架部署到服务器刷新或者是退出登录出现404

登出错误404 改成/登出的时候重定向到根路径&#xff0c;让nginx匹配去找dist目录下的index.html文件 或者是直接改为/index.html&#xff0c;少一步可能会快一点&#xff1f; 不过会变得很丑,算了还是根目录吧 原版是index&#xff0c;那玩意是 针对路由的&#xff0c;而打包…