Pergunta

Estou desenvolvendo um conjunto de aplicativos que trabalham juntos para criar um sistema de tratamento de dados de medição. Há várias razões que eu quero tê-los de baixo acoplamento e o sistema deve ser extensível por terceiros, de modo que os aplicativos serão ligados através de mensagens.

Eu estou procurando um sistema de mensagens que oferece ligações em (pelo menos) C #, Java e Python e suporta mensagens padrões como Publish-Subscribe, Entrega Garantida, Selective Consumidor (como Peek em .Net Messaging).

Tanto quanto eu poderia descobrir, não há nada de errado com JMS ou .Net Messaging, é só que eles são para .Net / Java somente.

O sistema deve me dar o controle sobre qual mecanismo de transporte (Sockets, filas de mensagens, etc.) para usar quando a criação de um canal. Eu quero ser capaz tanto de escala para máquinas remotas e acelerar as coisas com meios de transporte locais.

Se eu não consigo encontrar nada adequado, eu vou ter que fazer a minha própria. Eu provavelmente usar buffers de protocolo do Google para serialização. Se alguém tiver outras recomendações para opções de tecnologia, fogo de distância.

Oh, sim -. E eu gostaria de ter criptografia opcional em uma base por canal ou por mensagem

ETA: Obrigado por todas as respostas rápidas. Eu estou trabalhando meu caminho através dos docs e propaganda agora. Alguém tem usado as tecnologias abaixo, e para o que / com que resultados?

Foi útil?

Solução

activemq

http://activemq.apache.org/cross-language-clients.html

suporta todos os protocolos a seguir

  • OpenWire
  • DESCANSO
  • Stomp
  • WS Notificação
  • XMPP
  • AMQP

Graças Paul

Outras dicas

SonicMQ pode ser uma ferramenta que você está procurando. Eu sei que eles são pesados ??em progresso, mas que eles também apoiar outras alternativas de linguagem tão bem e é um jogador de liderança no setor de Mensagens.

o Sonic Software

Como Paul mencionado, tente ActiveMQ que engloba muitos clientes de língua e fio protocolos.

BTW ActiveMQ 6.x provavelmente irá utilizar buffers de protocolo do Google como um dos seus transportes fio subjacentes:)

Eu usei Apache ActiveMQ em muitos projetos de grande sucesso. É a mais popular e poderoso aberta corretor mensagem de origem em torno de hoje.

A propósito em .Net / C # projeto ActiveMQ criou o NMS API que é um padrão API para se comunicar com intermediários de mensagens na plataforma .Net que agora está integrado no Spring.Net

Você já considerou MPI ?

Você pode usar um ESB (Enterprise Service Bus) como Mule . A idéia é que você enviar suas mensagens para o autocarro em qualquer maneira que você quer (JMS, http, email) eo ônibus faz o encaminhamento para você. Eu não sei se existem ligações .NET, mas mesmo se não há nenhum disponível, você pode construir seu próprio usando um mecanismo de extensão. Claro, isso significa que você precisa configurar um em algum lugar de ônibus.

Se você quer balançar, suporte comercial sólida e integração de praticamente qualquer coisa, MQ Series da IBM, agora Websphere MQ fornece todas as características descritas em suas necessidades.

Às vezes você do conseguir o que você paga ...; -)

Se você quiser um multilinguagem "standard" - o que significa que não estão vinculados a usar um corretor específico / intermediário como ActiveMQ, SonicMQ, ou WebSphereMQ - Eu sugiro fortemente que você olha para o padrão AMQP ( http://www.amqp.org ) e corretores relacionados (RabbitMQ, Qpid, OpenAMQ; ver http://www.amqp.org/confluence/display/AMQP/AMQP+Products ).

Open Message Queue (Open MQ) está incluído no servidor de aplicação GlassFish e também corre estande -sozinho. Começa-se em poucos segundos, e suporta o cliente Java e C. apoio Stomp está atualmente em desenvolvimento na versão 4.4.

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