redpanda-data/connect
redpanda-data/connect has 8,793 GitHub stars and 982 forks. GitHot measured 0 stars in 24 hours and +2 in 7 days. Last checked 2026-11-05 19:09 UTC. Last push 2026-11-04.
멋진 스트림 처리를 운영 측면에서는 평범한 일로
What you can do
- Declarative pipelines — a stream topology fits in a single YAML file.
- At-least-once delivery by default — in-process transactions, no disk state required.
- A large connector catalog — cloud services, message brokers, databases, HTTP, and more.
- First-class CDC — change-data-capture connectors for Postgres, MySQL, MongoDB, Oracle, and MSSQL.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- +2
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalRedpanda Connect
Redpanda Connect is a stream processor that moves data between a wide range of sources and sinks, with support for hydration, enrichment, transformation, and filtering along the way.
That includes a rich set of change-data-capture (CDC) connectors — for Postgres, MySQL, MongoDB, Oracle, MSSQL, and more — so database changes can flow through your pipelines as first-class events.
It uses Bloblang for mapping, runs as a single static binary or container image, and is easy to operate and monitor.
Highlights
- Declarative pipelines — a stream topology fits in a single YAML file.
- At-least-once delivery by default — in-process transactions, no disk state required.
- A large connector catalog — cloud services, message brokers, databases, HTTP, and more.
- First-class CDC — change-data-capture connectors for Postgres, MySQL, MongoDB, Oracle, and MSSQL.
- Bloblang — a mapping language designed for stream data.
- Cloud-friendly — stateless and horizontally scalable, with metrics and tracing built in.
Example
Stream Postgres changes into Apache Iceberg tables on S3, one Iceberg table per source table:
input:
postgres_cdc:
dsn: postgres://user:[email protected]:5432/app?sslmode=require
schema: public
tables: [ orders, customers ]
stream_snapshot: true
output:
iceberg:
catalog:
url: https://glue.us-east-1.amazonaws.com/iceberg
warehouse: "123456789012"
auth:
aws_sigv4:
region: us-east-1
service: glue
namespace: cdc
table: ${! meta("table") }
storage:
aws_s3:
bucket: my-iceberg-warehouse
region: us-east-1
schema_evolution:
enabled: true
table_location: s3://my-iceberg-warehouse/cdc/
Quickstart
Install
Linux:
curl -LO https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-linux-amd64.zip
unzip rpk-linux-amd64.zip -d ~/.local/bin/
macOS (Homebrew):
brew install redpanda-data/tap/redpanda
Docker:
docker pull docker.redpanda.com/redpandadata/connect
See the getting started guide for more options.
Run
rpk connect run ./config.yaml
With Docker:
# From a config file
docker run --rm -v /path/to/your/config.yaml:/connect.yaml docker.redpanda.com/redpandadata/connect run
# With inline overrides
docker run --rm -p 4195:4195 docker.redpanda.com/redpandadata/connect run \
-s "input.type=http_server" \
-s "output.type=kafka" \
-s "output.kafka.addresses=kafka-server:9092" \
-s "output.kafka.topic=redpanda_topic"
Connectors
The catalog includes AWS (DynamoDB, Kinesis, S3, SQS, SNS), Azure (Blob, Queue, Table), GCP (Pub/Sub, Cloud Storage, BigQuery), Kafka, NATS (JetStream, Streaming), NSQ, MQTT, AMQP 0.91 (RabbitMQ), AMQP 1, Redis, Cassandra, Elasticsearch, HDFS, HTTP (server, client, websockets), MongoDB, and SQL (MySQL, PostgreSQL, ClickHouse, MSSQL) — and a lot more in the components documentation.
Delivery guarantees
Delivery guarantees can be a tricky subject. Redpanda Connect processes and acknowledges messages using an in-process transaction model with no disk-persisted state, so when it's connecting at-least-once sources and sinks it can guarantee at-least-once delivery — even through crashes, disk corruption, or other server faults.
That's the default, with no caveats, which keeps deployment and scaling straightforward.
Observability
Health checks
Two HTTP endpoints are exposed for orchestration probes:
/ping— liveness probe; always returns 200./ready— readiness probe; returns 200 once both input and output are connected, otherwise 503.
Metrics
Redpanda Connect exposes metrics to Statsd, Prometheus, a JSON HTTP endpoint, and other backends.
Tracing
OpenTelemetry traces are emitted natively, so you can visualize what's happening inside a pipeline end-to-end.
Configuration
Redpanda Connect ships with tooling for configuration discovery, debugging, and organization — see the configuration guide.
Documentation
- General documentation
- Bloblang language guide
- Public Go APIs for building custom plugins
Build from source
Requires a currently supported Go version:
git clone [email protected]:redpanda-data/connect
cd connect
task build:all
Plugins with external dependencies
Components that link against external C libraries (for example zmq4) aren't included by default. To pull them in, set the x_benthos_extra build tag:
# With go
go install -tags "x_benthos_extra" github.com/redpanda-data/connect/v4/cmd/redpanda-connect@latest
# With task
TAGS=x_benthos_extra task build:all
This tag may change or be split into more granular tags in future releases. If the required system libraries aren't installed, the build will fail with an error like ld: library not found for -lzmq.
Docker image
A multi-stage Dockerfile builds a minimal scratch-based image:
task docker:all
docker run --rm \
-v /path/to/your/config.yaml:/config.yaml \
-v /tmp/data:/data \
-p 4195:4195 \
docker.redpanda.com/redpandadata/connect run /config.yaml
Custom plugins
Writing your own plugins in Go is straightforward — check out the API docs and the example plugin repository for reference implementations.
Development
Redpanda Connect uses golangci-lint for linting and gofumpt for formatting. You can configure your editor to use gofumpt automatically — instructions are here.
task fmt # format the codebase
task lint # lint the codebase
task test # unit and template tests
Contributing
Contributions are welcome. Before opening a pull request, please make sure it has been:
- Unit tested with
task test - Linted with
task lint - Formatted with
task fmt
Most integration tests spin up Docker containers, so they're skipped by task test. You can run them individually with:
go test -run "^Test.*Integration.*$" ./internal/impl/<connector directory>/...
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,163 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,699 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,199 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,413 스타