Affects Version/s: None
Fix Version/s: None
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.