Vitess (Generic)

Prerequisites

  • Vitess version ≥ 12.0.N

Vitess Setup

Vitess’s VStream feature was introduced in version 4.0. It is a change event subscription service that provides equivalent information to the MySQL binary logs from the underlying MySQL shards of the Vitess cluster.

A user can subscribe to multiple shards in a keyspace, making it a convenient tool to feed downstream CDC processes.

To read and process database changes, the Connector subscribes to VTGate's VStream gRPC service. VTGate is a lightweight, stateless gRPC server, which is part of the Vitess cluster setup. The Connector gives you the flexibility to choose to subscribe to the MASTER nodes, or to the REPLICA nodes for change events.

Granting Privileges

Because the Connector reads change events from the VTGate VStream gRPC server, it does not need to connect directly to MySQL instances. Therefore, no special database user and permissions are needed.

Enable Change Data Capture

The Connector does not require any specific configuration for use with Vitess. However, make sure that these are accessible to Streamkap:

  • VTGate host and its gRPC port (default is 15991)
  • VTCtld host and its gRPC port (default is 15999)

Streamkap Setup

  • Go to Sources, click Add and choose Vitess
  • Input the following information:
    • Name for your Connector
    • Hostname - IP address or hostname of the Vitess database server (VTGate).
    • Port (default: 15991) - port number of the Vitess database server.
    • VTGate Server Username - An optional username of the Vitess database server (VTGate). If not configured, unauthenticated VTGate gRPC is used.
    • VTGate Server Password - An optional password of the Vitess database server (VTGate). If not configured, unauthenticated VTGate gRPC is used.
    • Keyspace Name - The name of the keyspace from which to stream the changes.
    • Tablet Type - The type of Tablet (hence MySQL) from which to stream the changes.
    • VTCtld Server Hostname - IP address or hostname of the VTCtld server.
    • VTCtld Server Port (default: 15999) - port number of the VTCtld server.
    • VTCtld Server Username - The username of the VTCtld server.
    • VTCtld Server Password - The password of the VTCtld database server.
    • Connect via SSH Tunnel. See SSH Tunnel
    • Add Schemas/Tables. Can also bulk upload here. The format is a simple list of each schema or table per row saved in csv format without a header.
    • Click Save