openmeetings-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcus Wellnitz <welln...@datenwerk-it.de>
Subject Re: [DISCUSS] Manual vs Dynamic (Software Based) Load Balancing
Date Tue, 27 Nov 2012 11:35:37 GMT
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, seba.wagner@gmail.com <
> seba.wagner@gmail.com> 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
>> seba.wagner@gmail.com
>>
>
>


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

Telefon +49 (0) 69/9434086-0
Fax     +49 (0) 69/9434086-9
E-Mail  hosting@datenwerk-it.de
Web     www.datenwerk-it.de

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


Mime
View raw message