Package io.stargate.sdk.loadbalancer
Class Loadbalancer<RSC>
java.lang.Object
io.stargate.sdk.loadbalancer.Loadbalancer<RSC>
- Type Parameters:
RSC- resources
Generic implementation of a client-side load balancer. It will handle
multiple algorithms: RANDOM, LOAD BALANCING, WEIGHT BALANCING.
- Author:
- Cedrick LUNVEN (@clunven)
-
Constructor Summary
ConstructorsConstructorDescriptionLoadbalancer(LoadBalancingPolicy policy, List<LoadBalancedResource<RSC>> listRsc) Initialization of the resources.Loadbalancer(LoadBalancingPolicy policy, RSC... resources) Initialization of the resources.Loadbalancer(RSC... lst) Constructor with default policy LOAD BALACING. -
Method Summary
Modifier and TypeMethodDescriptionget()Main method, provide an available resource.final doubleAccesseur en lecture pour globalCount.final LoadBalancedResource<RSC> Main mthod to retrieve a resource from loadbalancing.final LoadBalancingPolicygetMode()Accesseur en lecture pour mode.final List<LoadBalancedResource<RSC>> Permet de rechercher la liste des �lemtents.final doubleAccesseur en lecture pour totalCount.final intAccesseur en lecture pour unavailabilityPeriod.final intAccesseur en lecture pour unavailableCount.final LoadBalancedResource<RSC> handleComponentError(LoadBalancedResource<RSC> component, Throwable parentException) Ce composant permet la gestion des erreurs pour un composant.final voidsetTotalCount(int ptotalCount) Accesseur en �criture pour totalCount.final voidsetUnavailabilityPeriod(int punavailabilityPeriod) Accesseur en �criture pour unavailabilityPeriod.final voidsetUnavailableCount(int punavailableCount) Accesseur en �criture pour unavailableCount.final voidsetWrappeeElementList(List<LoadBalancedResource<RSC>> pwrappeeElementList) Accesseur en �criture pour wrappeeElementList.final StringtoString()
-
Constructor Details
-
Loadbalancer
Constructor with default policy LOAD BALACING.- Parameters:
lst- list of resources
-
Loadbalancer
Initialization of the resources. Weights are part ofLoadBalancedResource.- Parameters:
policy- current policylistRsc- list of resources
-
Loadbalancer
Initialization of the resources. Weights are part ofLoadBalancedResource.- Parameters:
policy- current policyresources- list of resources
-
-
Method Details
-
getLoadBalancedResource
Main mthod to retrieve a resource from loadbalancing.- Returns:
- current resource
-
get
Main method, provide an available resource.- Returns:
- resource name
-
toString
-
handleComponentError
public final LoadBalancedResource<RSC> handleComponentError(LoadBalancedResource<RSC> component, Throwable parentException) Ce composant permet la gestion des erreurs pour un composant. On le rend indisponible. Pour que le load-balancing fonctionne il faut r�partir la charge sur les �l�ments restants (s'il en reste) et remettre les compteurs d'utilisation � 0. IL faut �galement remettre le total count � 1.- Parameters:
component- composant qui a rencontr� une erreurparentException- exception lev�e lors de l'ex�cution du composant- Returns:
- gestion des erreurs
-
getResourceList
Permet de rechercher la liste des �lemtents.- Returns:
- la liste des �l�ments
-
getTotalCount
public final double getTotalCount()Accesseur en lecture pour totalCount.- Returns:
- the totalCount
-
setTotalCount
public final void setTotalCount(int ptotalCount) Accesseur en �criture pour totalCount.- Parameters:
ptotalCount- the totalCount to set
-
getMode
Accesseur en lecture pour mode.- Returns:
- the mode
-
setWrappeeElementList
Accesseur en �criture pour wrappeeElementList.- Parameters:
pwrappeeElementList- the wrappeeElementList to set
-
getGlobalCount
public final double getGlobalCount()Accesseur en lecture pour globalCount.- Returns:
- the globalCount
-