Sobre o projeto
Redpanda Connect é um processador de fluxo para mover dados entre uma ampla gama de fontes e destinos, com hidratação, enriquecimento, transformação e filtragem ao longo do caminho. Pipelines são declarados em um único arquivo YAML, então uma topologia de fluxo é fácil de ler, versionar e revisar.
Características principais descritas no README:
- Pipelines declarativos: toda a topologia cabe em um arquivo YAML.
- Entrega pelo menos uma vez por padrão, usando um modelo de transação em processo sem estado persistido em disco, que o projeto afirma manter mesmo através de falhas, corrupção de disco ou outras falhas de servidor.
- Um grande catálogo de conectores cobrindo serviços de nuvem, brokers de mensagens, bancos de dados e HTTP. Exemplos nomeados incluem 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 (servidor, cliente, websockets), MongoDB e SQL (MySQL, PostgreSQL, ClickHouse, MSSQL).
- Conectores de captura de mudanças de dados de primeira classe para Postgres, MySQL, MongoDB, Oracle e MSSQL, para que mudanças no banco de dados fluam através dos pipelines como eventos.
- Bloblang, uma linguagem de mapeamento projetada para dados de fluxo, usada para transformação e mapeamento.
- Operação amigável à nuvem: sem estado e escalável horizontalmente, com métricas e rastreamento integrados.
Um exemplo do README transmite mudanças do Postgres para tabelas Apache Iceberg no S3, criando uma tabela Iceberg por tabela de origem, e mostra opções de evolução de esquema.
Opções de instalação incluem download zip para Linux, Homebrew no macOS e uma imagem Docker. Ele roda como um único binário estático ou imagem de contêiner, invocado como `rpk connect run ./config.yaml` ou via Docker com um arquivo de configuração montado ou sobrescritas inline.
Observabilidade: `/ping` é uma sonda de vivacidade que sempre retorna 200, e `/ready` é uma sonda de prontidão que retorna 200 uma vez que tanto a entrada quanto a saída estão conectadas, caso contrário 503. Métricas podem ser expostas para Statsd, Prometheus, um endpoint HTTP JSON e outros backends. Rastreamentos OpenTelemetry são emitidos nativamente para visibilidade de pipeline de ponta a ponta.
Extensibilidade e desenvolvimento: APIs Go públicas são documentadas para construir plugins personalizados, com um repositório de exemplo de plugins. Construir a partir do código-fonte requer uma versão Go atualmente suportada e usa `task build:all`. Componentes que vinculam bibliotecas C externas (por exemplo, zmq4) são excluídos por padrão e podem ser habilitados com a tag de build `x_benthos_extra`. Um Dockerfile multi-estágio produz uma imagem mínima baseada em scratch. O projeto usa golangci-lint e gofumpt, com alvos `task fmt`, `task lint` e `task test`; a maioria dos testes de integração inicia contêineres Docker e é pulada pelo alvo de teste padrão.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.