После попытки почти каждого включить мою клавиатуру:
C:\Users\Tim>cd ^
Mehr? Desktop
C:\Users\Tim\Desktop>
, Таким образом, это, кажется, ^ ключ.
Если у вас Azure в виду, возможно, вам следует начать прямо с Azure, поскольку API и семнатика значительно различаются между очередями Azure и любыми MSMQ или SSB.
Быстрое сравнение MSMQ и SSB на 3048 метров (я оставлю настраиваемую таблицу - as-queue вне сравнения, поскольку это действительно зависит от того, как вы это реализуете ...)
Кроме того, я бы добавил, что SSB и MSMQ значительно отличаются на уровне примитива, который они предлагают: примитив SSB - это диалог , тогда как примитив MSMQ это сообщение . Подумайте о семантике TCP и UDP.
SSB совмещает историю высокой доступности SQL Server, он может работать как в кластерной среде, так и в среде зеркалирования базы данных. MSMQ использует только историю кластеризации Windows. Зеркальное отображение базы данных намного дешевле, чем кластеризация в качестве решения высокой доступности.Кроме того, я бы добавил, что SSB и MSMQ значительно различаются на уровне предлагаемого ими примитива: примитив SSB - это диалог , а примитив MSMQ это сообщение . Подумайте о семантике TCP и UDP.
SSB совмещает историю высокой доступности SQL Server, он может работать как в кластерной среде, так и в среде зеркалирования базы данных. MSMQ использует только историю кластеризации Windows. Зеркальное отображение базы данных намного дешевле, чем кластеризация в качестве решения высокой доступности.Кроме того, я бы добавил, что SSB и MSMQ значительно отличаются на уровне примитива, который они предлагают: примитив SSB - это диалог , тогда как примитив MSMQ это сообщение . Подумайте о семантике TCP и UDP.
Примитив SSB - это диалог , а примитив MSMQ - это сообщение . Подумайте о семантике TCP и UDP. Примитив SSB - это диалог , а примитив MSMQ - это сообщение . Подумайте о семантике TCP и UDP.Выберите серверную часть очереди, которая работает для вас или лучше подходит для вашей среды. @Remus провел отличное сравнение между MSMQ и SSB. MSMQ будет проще реализовать, но он имеет некоторые заметные ограничения, в то время как SSB будет ощущаться очень тяжелым, поскольку находится на другом конце спектра.
Have It Your Way
Чтобы свести к минимуму переделки из приложения, абстрагируйте доступ к очередям за интерфейсом, а затем предоставьте реализацию для транспорта очереди, который вы в конечном итоге решите использовать. Когда пришло время перейти на Azure или другой транспорт очереди, вы просто предоставляете новую реализацию своего интерфейса.
Вы можете управлять семантикой того, как вы хотите взаимодействовать с очередью, чтобы предоставить единообразный используемый API из ваших приложений. .
Примерная идея может быть такой:
interface IQueuedTransport
{
void SendMessage(XmlDocument);
XmlDocument ReceiveMessage();
}
public class MSMQTransport : IQueuedTransport {}
public class AzureQueueTransport : IQueuedTransport {}
Возможно, вы строите не общий транспорт с очередями, а только то, что вам нужно. Если вы работаете с Xml, передайте xml. Если вы работаете с байтовыми массивами, передавайте байтовые массивы. :)
Удачи!
Z