Tip

Low latency message queuing primer

Messaging middleware has a long lineage in computing. It has provided a dependable asynchronous means of connecting distributed systems, and effective routing based on varied schemes of message queuing. Transformation of message formats is also part of the messaging parcel.

Such message queuing methods have proved vital in banking environments. They have found less utility in Wall Street trading applications where speed is supreme. Over the years, publish-and-subscribe and multicast methods arose to speed messaging.

Performance improvements have been gained in recent years, too, by use of specialized hardware for messaging. Latency, basically the time it takes a message to travel, is the Wall Street software architect's bugbear. Although many factors, including cost, must be factored in to the system's equation, a useful rule is that high latency is bad, and low latency is good.

One of the more recent updates to message queuing takes the form of low-latency message queuing. Such latency, on Wall Street, may be measured in mere nanoseconds.  "Mileage may vary" as volume is naturally a factor in operation. But Wall Street's best systems are quicker than you can blink.

Since the advent of Java Messaging System (JMS), systems have tended to support Java and JMS, among other APIs.  Among systems that are associated with low latency messaging are:

  • Rendezvous (from Tibco) features an in-process module that

    Requires Free Membership to View

  • is said to embed its capabilities directly into applications. It offers centralized management of daemons, subjects and multicast groups with remote monitoring.
  • The Ultra Messaging Streaming Edition (from Informatica) forges an architecture of “nothing in the middle,” removing brokers and daemons by design. It claims throughput of over 7 million messages per sec from a single sender.
  • An  Advanced Message Queuing Protocol-compliant  (AMQP-compliant) RabbitMQ  system (available as open source or commercially from VMWare/SpringSource) supports Erlang, a functional programming language, and seeks to bypass Java garbage collection issues in order to achieve fast and predictable messaging performance.
  • A fairly recent entry in the low-latency message queuing game is WebSphere MQ Low Latency Messaging (from IBM). It supports one-to-many multicast and point-to-point unicast messaging, a low-latency message store for lightweight persistence and shared memory for inter-process communication.

A fast messaging system that has been emerging out of the open source milieu is ZeroMQ. Originators of  AMQP messaging have built ZeroMQ to support intelligent message batching. It has been described as a messaging library, works in a manner somewhat familiar to socket programmers, and supports a wide variety of transports.

This was first published in February 2011

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.