构建高性能和自动备份的队列

Posted

技术标签:

【中文标题】构建高性能和自动备份的队列【英文标题】:Building a high performance and automatically backupped queue 【发布时间】:2010-10-22 09:00:23 【问题描述】:

请就我的问题给我一些提示。

我正在构建一个队列数据结构:

    在硬盘上有实时备份 并且可以恢复备份 可以响应大量的入队/出队请求

谢谢!

【问题讨论】:

除非提供更多信息和细节,否则数据库可能会运行良好。 【参考方案1】:

这是你在做的练习吗?如果没有,您可能应该查看一些生产消息队列技术(例如 Windows 的 MSMQ),它支持将队列持久保存在磁盘上,而不仅仅是将它们存储在内存中。

根据您的要求

1. has a backup on hard disk at realtime

是的,MSMQ 可以做到这一点。

2. and can restore the backup

还有那个。

3. Can respond to massive enqueue/dequeue request

还有这个……

【讨论】:

【参考方案2】:

如果可以避免,请不要自己动手。对于 Java,请尝试 ActiveMQ。

【讨论】:

【参考方案3】:

您可能正在寻找比简单库更复杂的东西。

由于这是一个练习(可能希望您考虑底层数据结构),您可以通过排队到 mysql 数据库开始简单的方法。与专用排队软件相比,您的性能会很差,但您至少可以让其余的基础架构正常工作。

之后,您可能会看到某种形式的自定义文件格式和基于它的多线程服务器。您也许可以使用 BDB 或 SQLite 之类的东西来实现 I/O 层,从而省去编写实际磁盘例程的麻烦。

【讨论】:

以上是关于构建高性能和自动备份的队列的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2017 AlwaysOn AG 自动初始化

派美雅助力电子档案磁光自动备份刻录归档

Nginx 日志管理 日志自动备份

mysql数据库自动化完整备份和增量备份

如何进行MongoDB自动备份增量备份和恢复

SpringBoot下RabbitMQ的实战应用:动态创建和动态监控队列死信备份交换机