Skip to content

Feature Request: Support MySQL Topo Server #18340

@morgo

Description

@morgo

Feature Description

Currently, a deployment of Vitess requires one of etcd, zk or consul for the topo. These are databases in their own right - and the contents have to be backed up and restorable.

I am proposing that mysql be supported as a new topo implementation. It has the required functionality to 'notify' subscribers, because they can connect as if they are replicas. The only requirement is that the binlog is row-based, which is pretty safe these days.

(I tested this out as a proof of concept, and it worked fine. Happy to submit a PR).

Use Case(s)

There are some advantages to using MySQL as a topo:

  • Most Vitess deployments are probably already supporting MySQL; adding a new DB like etcd means it might not have the same understanding and support vs. adding one more small MySQL server to store the topo.
  • a small managed MySQL server is available at low cost in most clouds.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions