MSMQ v Таблица базы данных

Надеюсь, я не очень поздно ответить. Но вот что вы можете сделать, чтобы помешать пользователям. Используйте iFrame для отображения вашего PDF-файла и убедитесь, что вы показываете с помощью Google. Я использовал следующий код:

 <iframe src="http://docs.google.com/gview?url=http://www.tutorialspoint.com/php/php_tutorial.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0">
</iframe>

Здесь вы можете просто изменить url=http://www.tutorialspoint.com/php/php_tutorial.pdf и заменить его собственным URL-адресом, где вы сохранили свой PDF-файл.

23
задан David White 19 December 2008 в 03:48
поделиться

10 ответов

Существует несколько причин, которые были обсуждены на форуме Ручья Вуали здесь: http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=173704&ixReplies=5

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

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

подход таблицы А лучше, когда подход рабочего процесса будет требоваться, и процесс переместится через различные этапы, и этим этапам нужно сохранение в DB.

14
ответ дан Mitch Wheat 29 November 2019 в 02:25
поделиться

Если скорость, с которой создаются записи о бронировании, низкая, второй процесс периодически проверяется на наличие новых бронирований.

Если вы уже не используете MSMQ, его внедрение просто дает вам дополнительный компонент платформы для поддержки.

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

6
ответ дан ewalshe 29 November 2019 в 02:25
поделиться

Мне также нравится этот ответ от le dorfier в предыдущее обсуждение :

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

Спасибо, люди, для всех ответов. Самый полезный.

5
ответ дан Community 29 November 2019 в 02:25
поделиться

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

Между прочим, с SQL Server 2005 там создается в очереди в DB. Его позвонивший Сервисный Брокер SQL-сервера. См.: http://msdn.microsoft.com/en-us/library/ms345108.aspx

4
ответ дан Ben Dempsey 29 November 2019 в 02:25
поделиться
2
ответ дан Community 29 November 2019 в 02:25
поделиться

Если у Вас есть экспертные знания MSMQ, это - хороший вариант. Если Вы знаете базы данных, но не MSMQ, спросите себя, если Вы хотите стать опытными в другой технологии; является ли Ваше приложение критическим; и который Вы отладили бы, когда существует проблема.

2
ответ дан dkretz 29 November 2019 в 02:25
поделиться

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

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

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

Когда к базе данных обращались по приличному интернет-соединению, вставка строки в базу данных была в 6 раз медленнее, чем запись в MSMQ.

Итак:

Локальная база данных - БД работает быстрее, в противном случае MSMQ работает.

1
ответ дан aaroncatlin 29 November 2019 в 02:25
поделиться

Вместо того чтобы делать необработанные вызовы MSMQ, может быть проще, если вы реализуете свой сервис как компонент COM + в очереди и выполняете вызовы функций из своего клиентского приложения. В конце концов, асинхронный сервис все еще использует MSMQ в фоновом режиме, но ваш код будет намного понятнее и проще в использовании.

0
ответ дан MaDDoG 29 November 2019 в 02:25
поделиться

Я бы, наверное, пошел с MSMQ или ActiveMQ сам. Я бы предложил (предполагая, что вы рассматриваете MSMQ, вы используете Windows, с технологией MS), изучая WCF, или если вы используете MS-SQL 2005+ с триггером, который вызывает код .net для запуска вашей обработки.

0
ответ дан Tracker1 29 November 2019 в 02:25
поделиться

Сервисный Брокер был представлен в SQL 2005, и это разработано, чтобы быть очень быстрым при обработке сообщений, поскольку процесс относительно прост (я полагаю, что его корни были в триггерах). Если Вы обеспокоены масштабируемостью, в SQL 2008 они выпустили независимый исполняемый файл обработки для разделения обработки от SQL Server (в типичном Сервисном Брокере, всем управляют экземпляры SQL Server).

я определенно рассмотрел бы использование Сервисного Брокера по MSMQ, но это - иждивенец на Ваших ресурсах Разработки/DBA SQL и их знании.

0
ответ дан Coolcoder 29 November 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: