Comprehensive CCAC quick reference: Confluent Cloud resource model, private networking options, service accounts + API keys + RBAC, Stream Governance and schema discipline, managed connectors operations, Cluster Linking patterns, and troubleshooting signals.
Use this for last‑mile review. Pair it with the Syllabus for coverage and Practice to harden instincts.
flowchart TD
ORG["Organization"] --> ENV["Environment"]
ENV --> CL["Kafka Cluster"]
ENV --> SR["Schema Registry"]
ENV --> SG["Stream Governance (Catalog)"]
ENV --> SA["Service Accounts"]
SA --> KEY["API Keys"]
ENV --> CONN["Connectors"]
High-yield rules
| Step | What to do | Why |
|---|---|---|
| Create service account | Use per-app identities | Audit + least privilege |
| Grant RBAC role | Scope to env/cluster/resources | Reduce blast radius |
| Create API key | Store in secret manager | Avoid leaking credentials |
| Rotate regularly | Dual keys during rotation | Zero downtime changes |
| Revoke on exit/incident | Remove bindings + delete keys | Close access quickly |
| Option | What it is | When it’s used | What to remember |
|---|---|---|---|
| Public endpoint | Access over internet | Default, fast to start | Use allowlists where possible |
| PrivateLink / private service access | Private connectivity into your VPC/VNet | Compliance + no public exposure | DNS/routing planning matters |
| VPC/VNet peering | Private network peering | Controlled private routing | IP overlap pitfalls |
DNS gotcha: private connectivity often requires private DNS or custom resolution so clients resolve brokers to private endpoints.
| You want… | Do this | Why |
|---|---|---|
| More consumer parallelism | Increase partitions | One consumer per partition per group |
| Preserve ordering for an entity | Use a stable key | Ordering is per partition |
| Reduce duplicate risk | Use idempotent producer patterns | Retries happen |
| Policy | Best for | Mental model |
|---|---|---|
| Retention (delete) | Event logs / audit streams | Keep full history for N days |
| Compaction | Changelogs / latest state per key | Keep last value per key |
Compatibility answers: “Who can read what after change?”
| Mode | Safe for… | Simple rule |
|---|---|---|
| BACKWARD | New consumers reading old data | Add fields with defaults |
| FORWARD | Old consumers reading new data | Be careful with removals |
| FULL | Both directions | Strictest; safest at scale |
Operator rule: choose guardrails that prevent breaking changes in shared topics.
| Question | Why it matters |
|---|---|
| Is the connector authorized to read/write? | RBAC + API key scope issues are common |
| Is the destination reachable privately? | Networking and DNS routing issues |
| Is schema/serialization compatible? | Deserialization failures can halt tasks |
| Is throughput bounded? | Quotas/limits can cause backpressure |
Cluster Linking supports replicating data across clusters for:
flowchart LR
SRC["Source cluster"] --> LINK["Cluster Link"]
LINK --> DEST["Destination cluster"]
DEST --> APPS["Consumers (region B)"]
Operational cues
Environment (blast radius) • Service account (identity) • API key (credential) • RBAC (authorization) • Private connectivity (no public path) • Cluster Linking (multi-cluster replication) • Schema compatibility (safe evolution rules).