Principle:Risingwavelabs Risingwave CDC Connector Service
| Knowledge Sources | |
|---|---|
| Domains | CDC, Connectors, Microservices |
| Last Updated | 2026-02-09 07:00 GMT |
Overview
A gRPC-based microservice that bridges the Rust streaming engine with Java-based connectors, providing CDC source capture and sink data delivery capabilities.
Description
The CDC Connector Service is the Java-side entry point for RisingWave's connector infrastructure. It runs as a gRPC server that handles two main responsibilities:
- CDC Source Events: Receives requests to start CDC capture from databases, delegates to Debezium-based engine runners, and streams change events back to the Rust core via JNI.
- Sink Writer/Coordinator: Receives streaming data from the Rust engine and writes it to external systems through sink connector implementations.
The service also exposes a Prometheus metrics endpoint for monitoring connector health and throughput. It uses the Java ServiceLoader mechanism to discover available sink and source connector implementations.
Usage
Use this principle when:
- Understanding how RisingWave bridges Rust and Java components
- Deploying CDC-capable RisingWave instances
- Debugging connector-related issues
- Extending RisingWave with custom Java connectors
Theoretical Basis
The connector service follows a bridge pattern between two language runtimes:
Rust Core Engine
|
+-- JNI Bridge (native calls)
| |
| v
+-- Java Connector Service (gRPC server)
|
+-- CDC Source Handlers (Debezium)
+-- Sink Writer Handlers (JDBC, ES, etc.)
+-- Sink Coordinator Handlers
+-- Prometheus Metrics