Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm looking for a messaging framework for a distributed financial application that should meet the following requirements:

  1. No data loss or duplication, hence, a message should be sent exactly once to each recipient
  2. Transactional - in the sense that a message is dequeued only after successfully sent to all recipients.
  3. Durable - no data loss in a case of server crash
  4. high availability - run multiple message buses on different servers

The system is written in Scala and Java.

I will be more than happy to use an existing framework and not develop one of my own.

share|improve this question

4 Answers

up vote 2 down vote accepted

ActiveMQ, RabbitMQ, JMS implementations built into any full JEE container.

share|improve this answer

There are plenty and crucially they follow the recommended practices from the Enterprise Integration Patterns book:

And probably many more, HTH!

share|improve this answer
Those are implementations of the Enterprise Integration Patterns. They don't implement messaging themselves. – Ryan Stewart Oct 11 '11 at 20:17

You can checkout Kafka - a project open sourced by LinkedIn.

share|improve this answer

Tibco EMS is a popular product in the financial world. It's got bindings for Java, C++ and C#, which make language interop a lot easier and is fully JMS compliant.

A less well known product, but one that is incredibly fast is the 29West suite of products. They also have bindings for Java, C++ and C#, but your programming a lot closer to the metal! They're incredibly fast and perfect for low-latency, high-volume messaging.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.