fbpx

Message Queuing Framework for quant development

(Last Updated On: May 19, 2011)

Message Queuing Framework for quant development

In order to reduce message’s latency and guarantee high availability at the same time, I consider different to use message queuing framework, such as OpenAMQ and Apache Qpid. Both are based on the AMQP standard.
Please let me know what do you think about them and/or if you adopt other frameworks/solutions.

Apache Qpid was in incubation for a while. I haven’t played with it anyway. I am doing some independent exercising with ActiveMQ, but I don’t expect high performance from it either http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/

We implemented a pub/sub based system for controlling price limits and settlement prices once. We started with a pub/sub server developed by the french branch (Euronext), but it failed to cope with the message volume (protocol parsing and decoding, ~10k-15k msg/sec during the pick time), so the server side team ended up writing one from scratch (C plane structures with some throttling so that GUI side won’t crash). But again, it depends on requirements. These days I would certainly consider DDShttp://drdobbs.com/architecture-and-design/222900238

I’ve been using JBoss HornetQ, really fast! try ithttp://www.jboss.org/hornetq

By far, the fastest messaging is 29 West’s LBM. It uses multicast groups as a routing mechanism, so the routers deal with message traffic moving things across subnets very efficiently. They claim some 1.4 million messages per second sustained, and have full blown queueing built on top of the framework, if you want it. Give durable subscriptions, pub/sub, request/reply, etc.

Used by the NY Stock Exchange as their messaging backbone, and sold as part of the NYSE market data software suite. Expensive, but ultra low latency.

http://en.wikipedia.org/wiki/29West

 

Another good option is ZeroMQ [http://www.zeromq.org/] (Zero as in “No Broker”) . There is very broad language coverage of its api.

It too is very fast, I use it as a messaging wrapper over the sockets library.

Below is point summary from the website:

Ø  The socket library that acts as a concurrency framework.
Ø  Faster than TCP, for clustered products and supercomputing.
Ø  Carries messages across inproc, IPC, TCP, and multicast.
Ø  Connect N-to-N via fanout, pubsub, pipeline, request-reply.
Ø  Asynch I/O for scalable multicore message-passing apps.
Ø  Large and active open source community.
Ø  20+ languages including C, C++, Java, .NET, Python.
Ø  Most OSes including Linux, Windows, OS X.

second that

 

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

Subscribe For Latest Updates

Sign up to best of business news, informed analysis and opinions on what matters to you.
Invalid email address
We promise not to spam you. You can unsubscribe at any time.

NOTE!

Check NEW site on stock forex and ETF analysis and automation

Scroll to Top