Создание высокопроизводительной и автоматически резервной копии очереди - PullRequest
0 голосов
/ 28 апреля 2009

Пожалуйста, дайте мне несколько советов по моей проблеме.

Я строю структуру данных очереди, которая:

  1. имеет резервную копию на жестком диске в режиме реального времени
  2. и может восстановить резервную копию
  3. Может ответить на массовый запрос на постановку / снятие с очереди

Спасибо!

Ответы [ 3 ]

4 голосов
/ 28 апреля 2009

Если вы можете избежать этого, не бросайте свои собственные. Для Java попробуйте ActiveMQ .

4 голосов
/ 28 апреля 2009

Это упражнение, которое вы делаете. Если нет, то вам, вероятно, стоит взглянуть на некоторые технологии организации очереди производственных сообщений (например, MSMQ для Windows), которые поддерживают сохранение очередей на диске, а не просто их сохранение в памяти.

С точки зрения ваших требований

1. has a backup on hard disk at realtime

Да, MSMQ могут это сделать.

2. and can restore the backup

И это.

3. Can respond to massive enqueue/dequeue request

А это ...

1 голос
/ 28 апреля 2009

Вы, вероятно, смотрите на что-то более сложное, чем простая библиотека.

Поскольку это упражнение (возможно, вам нужно подумать о базовых структурах данных), вы можете начать простой путь с постановки в очередь в базу данных mySQL. Ваша производительность будет плохой по сравнению со специализированным программным обеспечением для организации очередей, но вы можете по крайней мере заставить остальную часть инфраструктуры работать.

После этого вы, вероятно, увидите какую-то форму нестандартного файла и многопоточный сервер поверх него. Возможно, вам удастся осуществить это, используя что-то вроде BDB или SQLite для уровня ввода / вывода, что избавит вас от необходимости писать настоящие процедуры на диске.

...