Redis comes packed with a simple yet powerful PubSub API. It provides low latency and scales well. A message published on a channel is received by subscriber(s) at the other end. However, if no active subscriber is found the message is simply lost. This drawback puts Redis out of the probables list for several use cases where message persistence of unprocessed published messages is desired. It’s also probably a reason why several open source projects that support Redis as a broker are based upon it’s list push / pop API. In this post I will demonstrate how to modify Redis PubSub API to support message persistence, opening possibilities for several interesting use cases.
Jaxl v3.x is a successor of v2.x (and is NOT backward compatible), carrying a lot of code from v2.x while throwing away the ugly parts. A lot of components have been re-written keeping in mind the feedback from the developer community over the last 4 years. Also Jaxl shares a few philosophies from my experience with erlang and python languages. Jaxl is an asynchronous, non-blocking I/O, event based PHP library for writing custom TCP/IP client and server implementations. From it’s previous versions, library inherits a full blown stable support for XMPP protocol stack. In v3.0, support for HTTP protocol stack was also added.
After months of restructuring the Jaxl library, I am pleased to announce Jaxl 2.0, an object oriented XMPP framework in PHP for developing real time applications for browsers, desktops and hand held devices.