Conversation
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
|
things to iterate on:
|
|
I mentioned |
|
@saifalharthi thank you! Yeah, I was actually unaware of https://github.com/vitessio/vitess/tree/master/examples/compose and there seems to be quite an overlap. Will look more deeply into it. If this PR turns to be completely redundant, it's still a day-and-a-half well spent on learning 🤷♂️ |
|
This also has some resemblance to
There's clearly a use case for this, whether that's experimenting with Vitess, using it locally to develop Vitess, or in a testing/CI environment as a dependency. There's a ton of overlap and we haven't been good about communicating the options. I think we should figure out what we want and consolidate all the functionality into a single binary/Docker image. This adds a lot of cool discoverability to the existing options, and I think |
To be fair I haven't done a deep investigation; I was for a reason under the impression that such setup did not exist. |
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
sougou
left a comment
There was a problem hiding this comment.
I'd say vtcombo and vttestserver are overlapped. But this is fundamentally different because it brings up the vitess binaries themselves. It's probably closer to compose or minikube, but hopefully more lightweight.
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
orchestratoras a discovery serviceetcvtctldorchestratorto probe given MySQL instanceorchestratorprobes and maps entire replication topologyvttabletmasterof 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.