Pergunta

Apenas fazendo alguns picos rápidos para usar um sistema de mensagens para processar arquivos que estão em um sistema de fluxo de trabalho bem dissociado.

Quais são os profissionais e contras que as pessoas encontraram sobre o uso de cada uma das estruturas acima? Quais são as vantagens de usá-las versus um sistema MSMQ enrolado à mão com as ligações do WCF e/ou soluções não MSMQ?

Foi útil?

Solução

Eu recomendo ficar longe de soluções enroladas à mão, pois há um monte de coisas um tanto difíceis que precisam ser acertadas - como como as transações são tratadas, como as exceções causam reversão, como parar de voltar sem parar (mensagens envenenadas), Como se integrar aos fluxos de trabalho de longa duração, para que os limites de gerenciamento do estado se alinhem e muito mais.

Você provavelmente desejará algum tipo de infraestrutura de mensagens durável/transacional; portanto, não usando o MSMQ que você ficaria com o Service Broker na plataforma Microsoft ou alguma outra alternativa como o ActiveMQ. O MSMQ tem o benefício de já ser instalado em todas as máquinas do Windows, em oposição ao corretor de serviços que não é.

Em termos de escolha entre NServiceBus, Transit em massa e barramento de serviço de rinoceronte - esta resposta StackOverflow Comparando o NServiceBus com o Masstransit seria um bom lugar para começar ..

Em nossa versão 3.1, estamos introduzindo o NSB Studio - um conjunto de ferramentas de modelagem integrada do Visual Studio que permitem modelar seu sistema em um nível mais alto de abstração e ter grande parte da configuração e inicialização do NServiceBus para você automaticamente. Eu diria que isso realmente derruba as escalas em favor do NServiceBus.

Espero que ajude.

Isenção de responsabilidade: Eu sou o autor de NServiceBus.

Outras dicas

NSERVICEBUS é um bom produto, mas cuidado com os problemas de licenciamento. Ele tem uma tendência a mudar a política de licenciamento de TI, conforme os autores desejam. Dê uma olhada, por exemplo, em Informações antigas da licença.

Pode acontecer que, no meio do seu desenvolvimento de projetos, você descobrirá que precisa pagar muito dinheiro pelo NServiceBus.

Também a versão gratuita tem limitações de desempenho.

Masstransit é absolutamente gratuito de código aberto, não tem limitações e está sob licença Apache 2.0.

Eu não usei Ônibus de serviço de rinoceronte.

Uma atualização para o estado de rinoceronte vs nservicebus:

http://www.infoq.com/news/2012/04/nservicebus3-0

InfoQ para Ayende: Você já escreveu um ônibus de serviço para .Net, a saber, o barramento de serviço de rinoceronte. Os usuários do Rhino Service Bus agora devem reconsiderar e mudar para o NServiceBus?

Ayende: Eu construí ônibus de serviço de rinoceronte por volta de 2008. Construí principalmente porque não estava feliz com o estado dos outros ônibus de serviço na época. Eu tive preocupações e orientações diferentes ao construir meu ônibus de serviço, mas isso foi há 4 anos. Nesse período, acho que o NServiceBus fez grandes progressos ao se tornar um produto mais fácil de usar e ter uma história de desenvolvimento muito melhor. Se eu estivesse começando com ônibus de serviço hoje, duvido fortemente que estaria construindo o meu.

Um potencial concorda de qualquer coisa baseada em MSMQ é a restrição no tamanho máximo da mensagem. IIRC É aproximadamente 4 MB, que você pode facilmente encontrar se estiver lidando com arquivos grandes e armazenando o conteúdo do arquivo dentro da mensagem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top