构建高性能和自动备份的队列
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 层,从而省去编写实际磁盘例程的麻烦。
【讨论】:
以上是关于构建高性能和自动备份的队列的主要内容,如果未能解决你的问题,请参考以下文章