[jdev] Financial messaging via XMPP

Martin Sustrik sustrik at fastmq.com
Fri Jan 25 09:02:32 CST 2008

Thanks for prompt resposes everyone.

So, as I understand it :

1. XMPP can be used for sending opaque messages, however, there are 
several limitations:
2. Binary content has to be translated into Base64, adding 1/3 of 
overhead to message size
3. There's no way to do zero-copy as the message has to be translated on 
both ends of the connection
4. All the messages have to be acknowledged. No no-acknowledge mode exists.
5. There's no batch acknowledge functionality (acknowledging sequence of 
messages using single acknowledge).
6. Pipelining of acknowledges is allowed, but discouraged. ("The sender 
need not wait for these acknowledgements before sending further stanzas. 
However, it is RECOMMENDED that the sender does wait in order to 
minimize possible rate-limiting penalties.")

Therefore, my feeling is that XMPP can be used for low-volume transfer 
(say 10,000 messages/second), but it is not suitable for high-volume 
transfer (millions messages/second). Anyway, even throughput of several 
thousands of messages a second is viable in some financial scenarios, so 
we'll dig into XMPP a bit more.


More information about the JDev mailing list