public class ModularLoadManagerWrapper extends Object implements LoadManager
LOADBALANCE_BROKERS_ROOT, log| Constructor and Description |
|---|
ModularLoadManagerWrapper(ModularLoadManager loadManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
disableBroker()
Removes visibility of current broker from loadbalancer list so, other brokers can't redirect any request to this
broker and this broker won't accept new connection requests.
|
void |
doLoadShedding()
Unload a candidate service unit to balance the load
|
void |
doNamespaceBundleSplit()
Namespace bundle split
|
org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport |
generateLoadReport()
Generate the load report
|
Set<String> |
getAvailableBrokers()
Get list of available brokers in cluster
|
Optional<ResourceUnit> |
getLeastLoaded(org.apache.pulsar.common.naming.ServiceUnitId serviceUnit)
Returns the Least Loaded Resource Unit decided by some algorithm or criteria which is implementation specific
|
List<org.apache.pulsar.common.stats.Metrics> |
getLoadBalancingMetrics()
Generate load balancing stats metrics
|
ModularLoadManager |
getLoadManager() |
ZooKeeperCache.Deserializer<? extends org.apache.pulsar.policies.data.loadbalancer.ServiceLookupData> |
getLoadReportDeserializer()
Returns
ZooKeeperCache.Deserializer to deserialize load report |
void |
initialize(PulsarService pulsar)
Initialize this LoadManager.
|
boolean |
isCentralized()
Is centralized decision making to assign a new bundle.
|
void |
setLoadReportForceUpdateFlag()
Set flag to force load report update
|
void |
start() |
void |
stop() |
void |
writeLoadReportOnZookeeper()
Publish the current load report on ZK
|
void |
writeLoadReportOnZookeeper(boolean force)
Publish the current load report on ZK, forced or not.
|
void |
writeResourceQuotasToZooKeeper()
Update namespace bundle resource quota on ZK.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreatepublic ModularLoadManagerWrapper(ModularLoadManager loadManager)
public void disableBroker()
throws Exception
LoadManagerdisableBroker in interface LoadManagerExceptionpublic void doLoadShedding()
LoadManagerdoLoadShedding in interface LoadManagerpublic void doNamespaceBundleSplit()
LoadManagerdoNamespaceBundleSplit in interface LoadManagerpublic org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport generateLoadReport()
LoadManagergenerateLoadReport in interface LoadManagerpublic Optional<ResourceUnit> getLeastLoaded(org.apache.pulsar.common.naming.ServiceUnitId serviceUnit)
LoadManagergetLeastLoaded in interface LoadManagerpublic List<org.apache.pulsar.common.stats.Metrics> getLoadBalancingMetrics()
LoadManagergetLoadBalancingMetrics in interface LoadManagerpublic void initialize(PulsarService pulsar)
LoadManagerinitialize in interface LoadManagerpulsar - The service to initialize this with.public boolean isCentralized()
LoadManagerisCentralized in interface LoadManagerpublic void setLoadReportForceUpdateFlag()
LoadManagersetLoadReportForceUpdateFlag in interface LoadManagerpublic void start()
throws PulsarServerException
start in interface LoadManagerPulsarServerExceptionpublic void stop()
throws PulsarServerException
stop in interface LoadManagerPulsarServerExceptionpublic void writeLoadReportOnZookeeper()
LoadManagerwriteLoadReportOnZookeeper in interface LoadManagerpublic void writeLoadReportOnZookeeper(boolean force)
LoadManagerwriteLoadReportOnZookeeper in interface LoadManagerpublic void writeResourceQuotasToZooKeeper()
LoadManagerwriteResourceQuotasToZooKeeper in interface LoadManagerpublic ZooKeeperCache.Deserializer<? extends org.apache.pulsar.policies.data.loadbalancer.ServiceLookupData> getLoadReportDeserializer()
LoadManagerZooKeeperCache.Deserializer to deserialize load reportgetLoadReportDeserializer in interface LoadManagerpublic ModularLoadManager getLoadManager()
public Set<String> getAvailableBrokers() throws Exception
LoadManagergetAvailableBrokers in interface LoadManagerExceptionCopyright © 2017–2021 Apache Software Foundation. All rights reserved.