commit | b34162a932b93a7e65451dce3f6e10bfda707997 | [log] [tgz] |
---|---|---|
author | Charan Reddy Guttapalem <reddycharan18@gmail.com> | Mon Jun 24 23:17:52 2019 -0700 |
committer | GitHub <noreply@github.com> | Mon Jun 24 23:17:52 2019 -0700 |
tree | 9be07b4de9df910291d615137706297f253d9899 | |
parent | 54ce17312f53c9b2a1ac3ea83303a7bebebc0a31 [diff] |
Implementation of ZoneawareEnsemblePlacementPolicy Descriptions of the changes in this PR: Implementation of ZoneawareEnsemblePlacementPolicy - This is meant to be used in public cloud infrastructure in which Availability zones (AZs) are isolated locations within data center regions from which public cloud services originate and operate. - ZoneawareEnsemblePlacementPolicy is a placement policy implementation which uses zone information for placing ensembles. - In this PlacementPolicy, it is assumed the networktopology/networklocation is going to be two level tree, where first part indicates zoneid and the second part indicates upgradedomainid. - Here upgrade domain is a set of bookies in an AZ that can be brought down together for short term maintenance with no impact to the service. This would help in enabling parallel patching. - Upgrade domain is a logic concept/division and it may be mapped to cloud provider native cluster/grouping like Placement Groups in AWS. Introduce soft PlacementPolicyAdherence - for ZoneawarePlacementPolicy if in a writeset the number of zones are in between minnumofzones and desirednumofzones then it is considered MEETS_SOFT. - if all of the writesets have zones >= desirednumofzones then it is considered MEETS_STRICT - if a writeset contains < minnumofzones then it is considered FAIL - add corresponding metric for PlacementPolicyAdherence.MEETS_SOFT Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Sijie Guo <sijie@apache.org>, Venkateswararao Jujjuri (JV) <None> This closes #2113 from reddycharan/zoneawareplacementpolicycommunitybranch
Apache BookKeeper is a scalable, fault tolerant and low latency storage service optimized for append-only workloads.
It is suitable for being used in following scenarios:
You can also read Turning Ledgers into Logs to learn how to turn ledgers into continuous log streams. If you are looking for a high level log stream API, you can checkout DistributedLog.
For filing bugs, suggesting improvements, or requesting new features, help us out by opening a Github issue or opening an Apache jira.
Subscribe or mail the user@bookkeeper.apache.org list - Ask questions, find answers, and also help other users.
Subscribe or mail the dev@bookkeeper.apache.org list - Join development discussions, propose new ideas and connect with contributors.
Join us on Slack - This is the most immediate way to connect with Apache BookKeeper committers and contributors.
We feel that a welcoming open community is important and welcome contributions.
See Developer Setup to get your local environment setup.
Take a look at our open issues: JIRA Issues Github Issues.
Review our coding style and follow our pull requests to learn about our conventions.
Make your changes according to our contribution guide.