引言
今年8月,腾讯云竟然把客户前沿数据的数据弄没了,Fundebug在第一时间进行了一些简单的技术分析:
一方面,腾讯云对这件事负有不可推卸的责任,他们刚开始说是什么硬盘固件版本bug(该声明已删),后来承认是人为操作失误导致的。
另一方面,前沿数据没有备份业务数据,也是一种非常不专业的行为,导致业务无法恢复,必须完全重新开始。
因此,所有的开发者都应该从这个事件吸取教训,不要偷懒,严格备份业务数据,否则数据一旦出问题,损失将无法挽回。
Fundebug数据备份方案
我们还分享了Fundebug的数据备份方案,供大家参考:
备份方案 | 时间粒度 | 细节 |
---|---|---|
MongoDB复制集 | 实时 | 搭建3个节点(1个Primary和2个Secondary)的MongoDB复制集,实时同步数据。 |
阿里云磁盘快照 | 每天 | 每天凌晨自动快照所有磁盘,包括系统盘和备份数据盘。 |
mongodump导出核心数据 | 每天 | 每天凌晨将MongoDB核心数据导出到复制集之外的服务器磁盘(该磁盘会每天进行快照)。 |
阿里云对象存储 | 每天 | 每天凌晨将mongodump导出的数据使用gpg非对称加密之后,上传到阿里云深圳数据中心的对象存储,设置跨区域复制,自动同步到杭州数据中心,每份数据保留1个月。 |
本地硬盘备份 | 每周 | 每周六中午从阿里云对象存储下载加密的备份数据,存储到本地磁盘。 |
大概是因为我们没有公布备份方案的技术细节,我们受到了质疑:
要么多重备份是假的
对于这种指责,我的原则是必须怼回去。那么,这篇博客我来详细介绍一下我们数据备份方案吧~所有源代码都在GitHub仓库Fundebug/fundebug-mongodb-backup,欢迎star。