openmeetings-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "seba.wagner@gmail.com" <seba.wag...@gmail.com>
Subject Re: [DISCUSS] Manual vs Dynamic (Software Based) Load Balancing
Date Tue, 27 Nov 2012 05:28:41 GMT
Practically that would simply mean:
When the user enters the room he will ask the master:
Give me the Server entity for that session (aka "getServerForSession")

There will be no attribute needed in the Rooms Entity for that, and there
is no need to spread the server entity across all Users Entities.

On a later stage the method "getServerForSession" could be modified so that
if the user is of a specific organization, the default
(even/uniform/constant load across all slaves/servers) implementation is
overwritten with the server from the org.

If you don't have any "servers" configured, so you run actually no cluster,
it will simply return the current host (or null, what would mean not to
change the server's adress at all).

Sebastian


2012/11/27 seba.wagner@gmail.com <seba.wagner@gmail.com>

> @Irina That is true. However we would not only need the regional
> information about the first user but also about what kind of participants
> will join in that room. For example: If the first user is an Australian, it
> does not mean that all participants of the conference will be from
> Australia.
>
> I think that for a first implementation an even/uniform/constant load
> across all slaves/servers should be the goal.
> Cause in that way it will minimize the number of servers needed to handle
> a large user base and in that sense minimize costs to handle the cluster.
>
> Having them served on a server that is regionally next to them would be
> another point. I guess on a second iteration we could think about a manual
> possibility to bind an organization to several servers. But not on room or
> Users level.
>
> Sebastian
>
>
>
> 2012/11/27 Irina Arkhipets <iarkh@unipro.ru>
>
>> Hi Sebastian,
>>
>> From my opinion, there is one more reason to have some "pre-defined"
>> server
>> for the user. If this is a distributed cluster with servers in the
>> different
>> locations, maybe it's more correct to make a conference on the server
>> which
>> is nearest to the given user...
>>
>> Best regards,
>> Irina.
>>
>> -----Original Message-----
>> From: seba.wagner@gmail.com [mailto:seba.wagner@gmail.com]
>> Sent: Tuesday, November 27, 2012 11:36 AM
>> To: openmeetings-dev@incubator.apache.org
>> Subject: Re: [DISCUSS] Manual vs Dynamic (Software Based) Load Balancing
>>
>> same for "Users" entity.
>> There is no need for a "Server" entity in the User object.
>>
>> Sebastian
>>
>>
>>
>>
>> 2012/11/27 Maxim Solodovnik <solomax666@gmail.com>
>>
>> > The only reason for having "server" for the user/room was balancing.
>> > no need for them if it will be done automatically
>> >
>> >
>> > On Tue, Nov 27, 2012 at 11:04 AM, seba.wagner@gmail.com <
>> > seba.wagner@gmail.com> wrote:
>> >
>> > > Ok then lets go for it.
>> > > It would mean that the attribute "server" in the "Rooms" Entity is
>> gone.
>> > > We would not need it anymore.
>> > >
>> > > Or is there any need to configure a specific server for a conference
>> > room?
>> > >
>> > >
>> > > 2012/11/27 Maxim Solodovnik <solomax666@gmail.com>
>> > >
>> > > > I like this approach :)
>> > > >
>> > > >
>> > > > On Tue, Nov 27, 2012 at 10:43 AM, seba.wagner@gmail.com <
>> > > > seba.wagner@gmail.com> wrote:
>> > > >
>> > > > > Well you can include this meta information in the calculation.
>> > > > > The calculation will use the capacity of the room to calculate
how
>> > > > "free" a
>> > > > > conference room is.
>> > > > > So the idea would be:
>> > > > > Instead of calculating the server load be the number of users
>> > currently
>> > > > > online, we calc the server load by:
>> > > > > 1) Checking which rooms are currently on which servers
>> > > > > 2) Calculate the maxUser load based on the maxUsers per conference
>> > room
>> > > > and
>> > > > > build the sum for every server.
>> > > > >
>> > > > > The first implementation would then just try to organize an
>> > > > > even/uniform/constant load across all slaves/servers.
>> > > > >
>> > > > > Sebastian
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > > 2012/11/27 Maxim Solodovnik <solomax666@gmail.com>
>> > > > >
>> > > > > > 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
>> > > > > > >
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > > WBR
>> > > > > > Maxim aka solomax
>> > > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > Sebastian Wagner
>> > > > > https://twitter.com/#!/dead_lock
>> > > > > http://www.webbase-design.de
>> > > > > http://www.wagner-sebastian.com
>> > > > > seba.wagner@gmail.com
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > WBR
>> > > > Maxim aka solomax
>> > > >
>> > >
>> > >
>> > >
>> > > --
>> > > Sebastian Wagner
>> > > https://twitter.com/#!/dead_lock
>> > > http://www.webbase-design.de
>> > > http://www.wagner-sebastian.com
>> > > seba.wagner@gmail.com
>> > >
>> >
>> >
>> >
>> > --
>> > WBR
>> > Maxim aka solomax
>> >
>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>>
>>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message