MangoDB的用户有福了!阿里云宣布开源MongoShake 支持跨机房容灾

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 阿里云宣布正式开源MongoDB容灾和多活解决方案MongoShake

6月29日,阿里云宣布正式开源基于MongoDB的容灾和多活解决方案平台--MongoShake(github地址),该方案可实现跨机房数据同步,最高处理QPS可达50万,解决过去灾备不灵活、单点写入等问题,实现跨机房容灾和异地多活业务,大幅减轻了运维压力。

MongoShake曾在各类大促场景下“大展身手”,以高德地图的国庆大促为例,MongoShake帮助高德解决了多机房容灾高可用需求,实现三机房全量中心,解放了测试、运维人员的压力,满足业务灵活切换的需求,支撑了国庆期间峰值流量下业务的稳定运行。

同时,作为一个通用型平台服务,阿里云MongoShake还可打通各个闭环节点的通道,灵活对接以适应不同场景,例如日志订阅、数据中心同步、监控审计等。此番开源,将使MongoDB在数据库领域发挥更大的作用。

跨机房容灾、异地多活,MongoShake解决多数据中心两大难题

在当前的数据库系统生态中,大部分系统都支持多个节点实例间的数据同步机制,如Mysql Master/Slave主从同步,Redis AOF主从同步等,MongoDB更是支持3节点及以上的副本集同步。

因此,跨单元、跨数据中心的数据同步,在业务层就显得格外重要。为了解决当前MongoDB对跨数据中心同步的局限性,阿里云研发了MongoShake解决方案,可应用在实例间同步,机房间、跨数据中心同步等场景,满足灾备和多活需求。

78d03f656cc31a3dd0bb34ca54d6a4f7fa7324fc

MongoShake灾备、多活部署

MongoShake的开源为目前广泛使用MongoDB数据库的开发者们提供了绝佳的解决方案,为了进一步提高传输性能,阿里云采取了多端拉取、并行执行、冲突检测、异步优化等多种设计思路,满足开发者的性能需求。

此外,MongoShake还支持对数据库DML和DDL语言的同步,从底层保证数据的一致性。关于MongoShake详细设计文档和开源地址可以参考下面链接。


MongoShake 详细设计文档地址:https://yq.aliyun.com/articles/603329

MongoShake Github地址:https://github.com/aliyun/mongo-shake

目录
相关文章
|
存储 网络协议 文件存储
|
SQL 分布式计算 NoSQL
Spark 操作 kudu -- 增加,删除,修改,查询操作 | 学习笔记
快速学习 Spark 操作 kudu -- 增加,删除,修改,查询操作
1985 0
Spark 操作 kudu -- 增加,删除,修改,查询操作 | 学习笔记
|
NoSQL MongoDB SQL
MongoShake最佳实践
mongoshake最佳实践,到底该怎么玩?
22340 0
|
NoSQL MongoDB 数据库
MongoDB日志浅析
MongoDB 日志
7353 0
|
NoSQL 索引 MongoDB
利用MongoDB的SplitVector命令实现并发数据迁移
数据迁移是数据库运维中一个很常见的场景。数据迁移分为全量和增量。为了追求速度,通常我们会采用并发的方式对数据进行全量迁移。在全量导出数据时,通常都会选择做到记录级的并发,因此通常会涉及到对需要导出的某个表(集合)按照并发度进行切分(分区)的过程。现有常用做法是通过若干个skip加limit来找到一些分区点,然后就可以并发同时导出多个分区。事实上MongoDB还有一个SplitVector命令特别适合用来做集合的分区。本文将介绍一下如何利用这个命令来对集合做分区,实现并发数据迁移。
7301 0
|
11月前
|
运维 监控 数据可视化
斩获6.1 star,再见Crontab!这款开源定时任务管理系统让运维更高效
Gocron是一款基于Go语言的轻量级定时任务调度系统,替代传统Linux Crontab。它提供可视化Web界面管理,支持秒级调度、任务依赖配置与多节点执行。核心功能包括:1) 可视化管理;2) 精确调度规则;3) 全链路任务控制;4) 多类型任务支持;5) 完善监控通知。适用于自动化运维、系统监控、数据处理及业务自动化等场景。通过三步快速上手:一键部署、添加任务节点、创建定时任务。相比Crontab和Celery,Gocron更直观高效,适合个人与企业使用。项目地址:https://github.com/ouqiang/gocron。
1687 8
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1203 29
|
存储 前端开发 安全
C++一分钟之-未来与承诺:std::future与std::promise
【6月更文挑战第27天】`std::future`和`std::promise`是C++异步编程的关键工具,用于处理未完成任务的结果。`future`代表异步任务的结果容器,可阻塞等待或检查结果是否就绪;`promise`用于设置`future`的值,允许多线程间通信。常见问题包括异常安全、多重获取、线程同步和未检查状态。解决办法涉及智能指针管理、明确获取时机、确保线程安全以及检查未来状态。示例展示了使用`std::async`和`future`执行异步任务并获取结果。
688 2
|
存储 负载均衡 算法
一致性哈希汇总
本文介绍了多种一致性哈希算法,包括Consistent Hashing Ring、Rendezvous、Jump、Multi-probe、Maglev、Anchor和Dx。这些算法各有特点,如Jump Hash实现了完美的key分布,而DxHash结合了多种算法的优点,支持动态扩缩容。文章还分析了各算法的性能指标,如内存使用、初始化时间、查询时间和调整集群大小的效率,以及均衡性和单调性。最后讨论了副本、权重和负载均衡策略的应用。
832 62
一致性哈希汇总
|
存储 安全 搜索推荐
HTTPS协议深度解析
【7月更文挑战第12天】HTTPS协议通过加密通信和身份验证机制,为数据传输提供了强有力的安全保障。在现代互联网环境中,HTTPS已成为保障网站和用户数据安全的重要手段。了解HTTPS的工作原理和安全性特性,有助于更好地应用和维护HTTPS,提升网络安全水平。
1703 5