2009-06-24 4 views
5

Система A захватывает X информацию от пользователей через пользовательский интерфейс. Эта информация проверяется и сохраняется в базе данных. Пользователь может изменять, добавлять или удалять информацию. Я должен держать эту информацию X синхронизированной с системой B с помощью веб-службы. Также мне нужно отправить эту информацию как можно скорее после ее сохранения в базе данных.Является MSMQ хорошей идеей

Я думал об использовании MSMQ здесь. Система A отправит сообщение в очередь. Другой процесс, прослушивающий сообщения в этой очереди, обрабатывает сообщение, читая информацию из базы данных и отправляя в Систему B.

Я хочу знать, полезно ли здесь использовать MSMQ или написать мой собственный простой механизм массового обслуживания регулярно опроса базы данных.

Поскольку требуется передача и гарантия в реальном времени, я подумал, что это хорошая идея использовать MSMQ. Есть ли другие лучшие решения?

Технологическая платформа .Net с базой данных Oracle.

ответ

4

MSMQ кажется довольно удобным в вашем сценарии, поскольку вы не знакомы с AQ в Oracle. MSMQ уверен, достаточно быстро для репликации в вашем случае. Написание собственной очереди для той же цели - не менее, а затем изобретать колесо и увеличивать код, который вы должны поддерживать. Внедрение MSMQ в .NET является трением, что является еще одним плюсом.

+0

Ну, я тоже не знаю MSMQ, я знаю только концепцию. –

+0

Посмотрите, помогает ли этот учебник http://www.devx.com/dotnet/Article/27560/0/page/1 – Faheem

4

Опрос базы данных, вероятно, не самая лучшая идея, особенно если вы используете Oracle, который уже содержит advanced queueing. Если вы решите сделать опрос (против моего совета), используйте DBMS_ALERT, чтобы уведомить процесс отправки изменений.

+0

Я мало знаю о передовых очередей. Мне нужно записать запись в таблицу очередей, а механизм очередности оракула выберет запись, и мы сможем обрабатывать ее. Это лучше, чем MSMQ? –

+0

У меня нет опыта работы с MSMQ, поэтому я не могу сказать вам, какой из них лучше. Оба сделают, наверное. –

1

Вы можете рассмотреть synchronization services. Вы можете использовать как SQL Server and Oracle.

+1

Я не знаю об этом, но кажется его непосредственной базой данных для синхронизации базы данных. Я не могу этого сделать, поскольку прямая связь недоступна. Я должен использовать веб-сервис для отправки данных. –

Смежные вопросы