# `PARAMETER::` `Capture` Architecture

+ A `TiCDC` cluster has only one `Owner`
+ One `Capture` can have multiple `Processors` 
+ One `Processor` can only process one `Changefeed`
+ One  `Changefeed` can be processed by multiple `Processors`
+ One `Changefeed` can capture and replicate the changes for multiple tables

![`right`](TiCDCCapture1_aa_002_20221111.png)

-------------------------------------------------------------
`Processor` pulls the `KV Change Log` from `TiKV CDC` via `gRPC`, and then assembles `KV` change logs by the internal logic.

`Owner` pulls the `KV Change Log` as well, and takes charge of resolving and scheduling the `DDL` replication executions. There is only one owner in the `Capture` instance per `TiCDC` cluster. 

Each `TiCDC` instance carries a `Capture` process. One of the `Capture` processes is elected as the owner `Capture`, which is responsible for scheduling workload, replicating DDL statements, and performing management tasks.

Each `Capture` process contains one or multiple `Processor` threads for replicating data from tables in the upstream `TiDB`.
