m3cluster
m3cluster copied to clipboard
Cluster management (service discovery, runtime config distribution) supporting pluggable backends
As we discovered in [this PR](https://github.com/m3db/m3/pull/1022#discussion_r223080164), it would be helpful if the placement service could apply custom user validation functions as it changes placements. The current approach is that if...
Discussed with @cw9 regarding why we had originally wanted to be able to shard metrics across multiple clusters, and concluded that it would actually be more ideal to support the...
We currently support safely moving shards from `n` hosts to `n+1` hosts when doing topology changes. Would be useful to support `n` => `n+k` for when we're expanding clusters.
During a discussion with @xichen2020 @jeromefroe and a few others there are some needs that need to be met to make usage of m3cluster pragmatic in the near future: -...
cc @cw9 Would be nice to have `InstancesForShardSetID` in the `Placement` interface to determine instances in the same group.
We currently optimise placement generation/modification logic to maximise randomness when distributing shards, so as to evenly distribute load. This gets in the way of our ability to rollout new versions...
When transitioning from one state to another in `Campaign()` we should make a call to `Leader()` to be able to differentiate between scenarios such as truly being a follower vs....
Leader service should accept a tally scope or `m3x/instrument.Options` type and emit useful metrics.
Once https://github.com/m3db/m3cluster/pull/116 is landed, we need to migrate key/type management from global to per service/namespace, we need to define the new interface and start using the new interface in m3admin...
The service discovery client should only keep the last known good version in cache