このプロジェクトについて
Redpanda Connectは、幅広いソースとシンク間でデータを移動するためのストリームプロセッサであり、その過程でハイドレーション、エンリッチメント、変換、フィルタリングを行います。パイプラインは単一のYAMLファイルで宣言されるため、ストリームトポロジーの読み取り、バージョン管理、レビューが容易です。
READMEに記載されている主な特徴:
- 宣言型パイプライン: トポロジー全体が1つのYAMLファイルに収まります。
- デフォルトでat-least-once配信。ディスクに永続化された状態を持たないインプロセストランザクションモデルを使用し、クラッシュ、ディスク破損、その他のサーバー障害が発生しても維持されるとプロジェクトは述べています。
- クラウドサービス、メッセージブローカー、データベース、HTTPをカバーする大規模なコネクタカタログ。名前が挙げられている例としては、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、SQL (MySQL、PostgreSQL、ClickHouse、MSSQL) があります。
- Postgres、MySQL、MongoDB、Oracle、MSSQL向けのファーストクラスの変更データキャプチャ (CDC) コネクタにより、データベースの変更がイベントとしてパイプラインを流れます。
- ストリームデータ向けに設計されたマッピング言語であるBloblangを、変換とマッピングに使用します。
- クラウドフレンドリーな運用: ステートレスで水平スケーリングが可能で、メトリクスとトレーシングが組み込まれています。
READMEの例では、Postgresの変更をS3上のApache Icebergテーブルにストリーミングし、ソーステーブルごとに1つのIcebergテーブルを作成し、スキーマ進化のオプションを示しています。
インストールオプションには、Linuxのzipダウンロード、macOSでのHomebrew、Dockerイメージがあります。単一の静的バイナリまたはコンテナイメージとして動作し、`rpk connect run ./config.yaml`として、または設定ファイルをマウントするかインラインでオーバーライドしてDocker経由で呼び出します。
可観測性: `/ping`は常に200を返すライブネスプローブであり、`/ready`は入力と出力の両方が接続されると200を返し、それ以外の場合は503を返すレディネスプローブです。メトリクスはStatsd、Prometheus、JSON HTTPエンドポイント、その他のバックエンドに公開できます。OpenTelemetryトレースはエンドツーエンドのパイプライン可視性のためにネイティブに出力されます。
拡張性と開発: カスタムプラグインを構築するための公開Go APIが文書化されており、サンプルプラグインリポジトリもあります。ソースからのビルドには現在サポートされているGoバージョンが必要で、`task build:all`を使用します。外部Cライブラリをリンクするコンポーネント (例えばzmq4) はデフォルトで除外され、`x_benthos_extra`ビルドタグで有効にできます。マルチステージDockerfileは最小限のscratchベースイメージを生成します。プロジェクトはgolangci-lintとgofumptを使用し、`task fmt`、`task lint`、`task test`ターゲットを備えています。ほとんどの統合テストはDockerコンテナを起動し、デフォルトのテストタスクではスキップされます。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.