MiniVitess: self contained vitess cluster, automatically resolving and self-configuring to meet external MySQL cluster #6377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR offers MiniVitess. It's a single container that runs a complete vitess cluster, and which probes and analyzes an external, existing MySQL replication topology, and self configures to meet said cluster.
Breakdown of what MiniVitess does:
hostname[:port]
for some MySQL server in a topologyRight now this user+password is used by both vitess as an app, as well as
orchestrator
as a discovery serviceetc
vtctld
orchestrator
to probe given MySQL instanceorchestrator
probes and maps entire replication topologyvttablet
master
of the topology, externally reparentAt this point you have a (single shard) vitess cluster you can use to query your existing MySQL replication topology.
See the below bootstrap output to get a bit more sense of what it looks like:
The objective of this work is to (hopefully significantly) reduce the initial toll of experimenting with vitess. This setup allows for a relatively simple initial setup, so that one can see how vitess behaves, can see if their queries are supported, etc.