Thomas MacKenzie
06/26/2025, 6:13 PMloadBalancerLoadPlacementStrategy configuration option on the broker and what the different values are?Thomas MacKenzie
06/26/2025, 6:14 PMloadBalancerLoadPlacementStrategy configuration option on the broker?RunLLM
06/26/2025, 6:14 PMloadBalancerLoadPlacementStrategy configuration option in Pulsar determines the strategy used by the broker to select which broker should own a namespace bundle when (re)assigning bundles during load balancing. This setting controls how Pulsar distributes load across brokers for optimal resource utilization and performance. Common strategies include LeastLongTermMessageRate, LeastResourceUsageWithWeight, and others, each with different criteria for broker selection based on message rate, resource usage, or weighted historical data. You set this option in the broker configuration file (e.g., broker.conf) using the fully qualified class name of the strategy implementation.
For example, to use the weighted resource usage strategy, you would set:
loadBalancerLoadPlacementStrategy=org.apache.pulsar.broker.loadbalance.impl.LeastResourceUsageWithWeight
For more details and available strategies, see ModularLoadManagerStrategy.java and ServiceConfiguration.java.
Would you like more detail on how each strategy works or how to choose the best one for your use case?
Sources:
- ModularLoadManagerStrategy.java
- ServiceConfiguration.java 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.Thomas MacKenzie
06/26/2025, 6:15 PMloadBalancerLoadPlacementStrategy?RunLLM
06/26/2025, 6:15 PMloadBalancerLoadPlacementStrategy are the fully qualified class names of placement strategy implementations. Common options include:
- `org.apache.pulsar.broker.loadbalance.impl.LeastLongTermMessageRate`: Selects the broker with the lowest long-term message rate.
- `org.apache.pulsar.broker.loadbalance.impl.LeastResourceUsageWithWeight`: Selects the broker with the lowest weighted resource usage, considering both historical and short-term load.
- You can also implement and specify custom strategies by providing the class name.
For more, see ModularLoadManagerStrategy.java and ServiceConfiguration.java.
Would you like a detailed explanation of each strategy?
Sources:
- ModularLoadManagerStrategy.java
- ServiceConfiguration.java 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.