[ 
https://issues.apache.org/jira/browse/GUACAMOLE-322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16357314#comment-16357314
 ] 

Nick Couchman commented on GUACAMOLE-322:
-----------------------------------------

[~kkellerowi] Good to know, thank you.  I still think there are some advantages 
to implementing the load balancing inside of the Guacamole Client itself, 
rather than having something external do it.  You can accomplish some of those 
things with the tools you mentioned, but having it inside gives you a little 
bit more power and makes it a little simpler to implement.

My plan, at some point, when I get around to this, is to pull the load 
balancing out of the class where it currently resides and make some sort of 
utility-type class that handles all of the details of load balancing, including 
implementing each of the required algorithms, and providing "prediction" 
capabilities for the next connection, which is important when you get to things 
like parameter prompting in GUACAMOLE-221 where you need to know before you 
actually use/make a connection which connection will be chosen.

> Implement Additional Load Balancing Algorithms
> ----------------------------------------------
>
>                 Key: GUACAMOLE-322
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-322
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: guacamole-client
>            Reporter: Nick Couchman
>            Assignee: Nick Couchman
>            Priority: Minor
>
> Now that the connection_weight field has been added, it makes sense to build 
> out support for additional load balancing algorithms for the BALANCING 
> connection group and allow users to choose which algorithm to use.
> Guacamole currently supports Weighted Least Connection (and Least Connection, 
> when weights are undefined or are equal).  I propose adding support for the 
> following:
> - Round Robin
> - Weighted Round Robin
> - Least Recently Used
> - Weighted Least Recently Used
> For (Weighted) Round Robin, the plan would be to look at all the connections 
> in a group, order them by their id, and then have a DB field keep track of 
> either the last one used or the next one to use (opinions?).
> For (Weighted) Least Recently Used, it should be relatively easy to look at 
> the connection history table and grab the oldest start_date field for a list 
> of connections in the group, then calculate out from there.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to