On 11/27/2013 12:37 AM, Goran Slavić wrote: > I am interested in developing "a true" load balancing feature > between ICAP adaptation servers. As I see it, current configuration options > for adaptation servers only provides failsafe in case of ICAP server > failure. I am interested in developing a load balancing mechanism which will > allow squid to share adaptation load between multiple ICAP servers not only > according to number of connections to those servers but also according to > server load of the used ICAP servers.
Hello, True ICAP server load-balancing would be a useful addition -- it has been requested a few times before. Defining "load" in a flexible and extendible way would be the challenging part of this problem, as Amos has already discussed. Please detail how you want to solve that problem here, before implementing your changes. Reviewing how other application balance services (in general, not just ICAP) is probably a good idea. On the configuration side, consider adding option(s) to the existing adaptation_service_set directive. It is meant for identical services and so would work well for load balancing applications IMO. Please note that Squid already supports a primitive form of ICAP load balancing using a combination of "adaptation_access" and "random" ACL. It is possible to balance accesses to ICAP services by using appropriate adaptation_access match probability. For example, for even balancing of accesses to 3 services, the random match probabilities should be 1/3, 1/2, and 1. Finally, please make sure your implementation works with eCAP if at all possible. Thank you, Alex.