Помощь по архитектуре (WCF или нет) - PullRequest
2 голосов
/ 23 июня 2011

Мне нужно обработать тысячи пользовательских данных из разных (клиентских) веб-приложений.Я закончил консольное приложение, которое выполняет фактическую обработку.Я также решил использовать MSMQ (консольное приложение получит данные пользователя из очереди).

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

Это будет наилучшим способом?Или есть лучший способ (ы)?

Ответы [ 3 ]

1 голос
/ 23 июня 2011

Если вся архитектура основана на Microsoft, я могу предложить вам отправлять сообщения в MSMQ с помощью InProc dll, который намного быстрее, чем доступ через WCF (который добавляет еще один слой к архитектуре и замедляет процесс по мере необходимости).сериализация / десериализация) объектов.Если вы спроектируете этот компонент надлежащим образом (принципы SOLID) и сделаете его не связанным с кодом, вы можете легко переключиться на WCF (если вам это нужно), добавив контракт данных и конечную точку, чтобы представить ваш компонент как сервис (в конце дня WCF предоставляет интерфейс)

0 голосов
/ 24 июня 2011

Взгляните на NServiceBus

0 голосов
/ 23 июня 2011

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

Предполагается, что все веб-клиенты (в основном) находятся в общедоступном Интернете; нахождение в частной сети даст вам больше возможностей.

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

...