bookkeeper
bookkeeper copied to clipboard
BP-65: Implement load balance for select bookie
Motivation
Implement bookie load balance to avoid bookie high write latency problem.
Master issue: https://github.com/apache/bookkeeper/issues/4247
Changes
The proposed changes involves:
- Implement BaseMetricMonitor in bookie server, which would collect bookie load information periodically
- bookie client continue to use getBookieInfo restApi to acquire load information from each bookie.
- modify the implementation of RackawareEnsemblePlacementPolicyImpl, support select ensemble by LoadWeightBasedPlacement. Since LoadWeightBasedPlacement is an enhancement of DiskWeightBasedPlacement, it would cover the DiskWeightBasedPlacement if feature enable.
If this PR is a BookKeeper Proposal (BP):
- [x] Make sure the PR title is formatted like:
<BP-#>: Description of bookkeeper proposale.g. BP-1: 64 bits ledger is support- [x] Attach the master issue link in the description of this PR.
- [ ] Attach the google doc link if the BP is written in Google Doc.