# LeaseBasedQueueBalancer

Package: [Microsoft.Orleans.Streaming](/orleans/docs/api/csharp/microsoft.orleans.streaming/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Streaming) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/QueueBalancer/LeaseBasedQueueBalancer.cs#L29)

```csharp
public class LeaseBasedQueueBalancer : QueueBalancerBase, IStreamQueueBalancer
```

LeaseBasedQueueBalancer. This balancer supports queue balancing in cluster auto-scale scenarios, unexpected server failure scenarios, and tries to support ideal distribution as much as possible.

## Remarks

Initializes a new instance of the [LeaseBasedQueueBalancer](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/) class.

## Constructors

- [LeaseBasedQueueBalancer(string, LeaseBasedQueueBalancerOptions, ILeaseProvider, IServiceProvider, ILoggerFactory, TimeProvider)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/constructors/constructor-string-orleans-configuration-leasebasedqueuebalanceroptions-orleans-39833e9c/)

## Methods

- [Create(IServiceProvider, string)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/create-system-iserviceprovider-string-2bf7e330/)
- [GetMyQueues](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/getmyqueues-75a8d36e/)
- [Initialize(IStreamQueueMapper)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/initialize-orleans-streams-istreamqueuemapper-2bcc1659/)
- [Shutdown](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/shutdown-d4b21e66/)
