Just wanted to start a discussion on some work I am doing to scale Openfire using the RTMP and new RTMFP (peer to peer) protocol. I would like to get some feedback from the group to validate my thinking and confirm I am on the right track.
The idea is scale a single Openfire server to handle thousands of users by using Redfire as an XMPP connection manager and extending XIFF with support for a new type of XMPP connection that enables clients to dynamically become nodes or supernodes (like Skype) using RTMP and RTMFP
Nodes will connect and distribute messages to each other without a server using RTMFP, while supernodes will connect to Openfire via the Redfire connection manager using RTMP and act as proxies for their neighbour nodes. Like clustering, disconnecting supernodes are replaced immediately by election among the nodes.
In theory, a fully populated enterprise muticast 192.168.x.x network with aproximately 64K users would only need 256 Openfire socket connections
I have a working proff-of-concept, but I have a nervous feeling that it is too good to be true and I am missing something.
What about supernodes disappearing issue which is happening to Skype sometimes? Personally i’m not interested in such technology at this point.
Thanks for the feedback
Another node takes over as it curently happens with Openfire clustering. Worse case scenario is that every node becomes a supernode with their own Openfire connection.
The use of RTMFP for Openfire XIFF clients has three distintive advantages that seem worth exploring.
Fewer TCP connections to the Openfire server while using UDP within the local mesh to distribute XMPP packets bweteen super nodes and peer nodes.
Direct sending of XMPP IM message packets between nodes provided central server logging is not required.
Replication of large XMPP datasets or even Openfire caches like vCards between supernodes
I agree that it might be early days for this technology and may have very little impact for instant messaging right now, but the runaway success of Skype and BitTorrent indicates that any serious implementation of unified communication (messaging, voice and sight) would have to consider peer to peer networking.
I am just learning this process, as we have implemented video chat through the adobe Cirrus implementation from back when it was known as Stratus.
We have back burnered our video chat implementation for now, however without understanding enough about this entire process, I would have to say I am certainly interested.
I will be following all of your future work as I find it a great learning guide for what we hope to implement some time in the future.
But I must go learn more on the basics of RTMP and RTMFP first