Hello,

IMHO it would be fine to connect all cluster nodes via multicast (as tomcat does it for session replication mechanism). Multicast was designed for streaming data and in this case we HAVE streaming data.

As I understand the OM architecture the first conference-user opens the room-session. At this OM-Instance the steam-management has to be done. All other client-streames can open an multicast-stream for their data and can connect to the mixed(master) mc-stream of the room.

This setup is flexible and if you create a (tomcat) ajp adapter an apache reverse proxy can get the system status (load, #sessions, etc.) directly via the ajp-connector. With this information apache can do all loadbalancing thinks.

This solution will ensure that the complexity of the LB system will stay moderate and if the implementition is smart enough it doesn't matter if a cluster node crashes. Apache will migrate the session to an other node with maybe one or two seconds of pause.

Please look at the simpleTcpCluster at the tomcat doku:
http://tomcat.apache.org/tomcat-7.0-doc/config/cluster.html
http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html

Greetings from Germany

Marcus

Am 27.11.2012 04:37, schrieb Maxim Solodovnik:
I believe room capacity check should also be added.
I mean in our configuration we have 10 rooms and 2 servers
9 rooms has capacity of 1-10
1 room has capacity of 150

in such situation it is better to have room with capacity of 150 on
separate server.


On Tue, Nov 27, 2012 at 10:30 AM, [email protected] <
[email protected]> wrote:

I have a request to discuss regarding clustering.

Status: The syncing of the sessions in the cluster from the slaves to the
master is basically ready. So the master of the cluster has a light version
of the slave's session object, and it is possible for the master to find
out the load across the cluster. The master can also kick out users from a
conference room that is hosted on any slave.

The question is know: How do we calculate which conference room is assigned
to which server?
Basically there is no need to have a configuration value in the
organization or conference room, that assigns the room to any server in the
cluster.
You can simply do that dynamically: *As soon as the first user enters the
conference room, the cluster checks which server has free capacities and
starts the conference room on that slave.* And then anybody joining the
conference will be redirected to the same server.

I basically like this idea, as it makes it more dynamic and it is likely
that you will use your given resources better with such a solution then by
manually assigning slave/servers to conference rooms (often nobody uses
those rooms and the slave/server will be just a zombie server that is
blocked but has nothing todo).

What do you think?

Sebastian
--
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
[email protected]





--
Marcus Wellnitz
Datenwerk GmbH
Vogelsbergstr. 34
60316 Frankfurt am Main

Telefon +49 (0) 69/9434086-0
Fax     +49 (0) 69/9434086-9
E-Mail  [email protected]
Web     www.datenwerk-it.de

Sitz: Frankfurt am Main, Amtsgericht  Frankfurt am Main HRB 55221
Geschäftsführer: Michael Beck

Reply via email to