コンポーネント共有後のバックエンド コンポーネント - Golang ベースの高性能で柔軟なストリーム プロセッサ ベントス
バックグラウンド
最近、フロントエンド、バックエンド、およびシステム側でさまざまな共通コンポーネントとツールを調査しており、いくつかの共通コンポーネントを再編成して、標準化されたコンポーネント トピックを形成しています。これには、後でさまざまな言語で一般的に使用されるコンポーネントが含まれます。 . 皆様、引き続きご注目ください。
コンポーネント基本情報
- コンポーネント:ベントス
- オープンソース契約: MIT ライセンス
- 公式ウェブサイト: www.benthos.dev
コンテンツ
このセクションでは、さまざまなプロキシ モードでさまざまなソースとシンクを接続し、ペイロードでハイドレーション、エンリッチメント、変換、およびフィルタリングを実行できる、 Golang に基づく高性能で弾力性のあるストリーム プロセッサベントスを共有します。
強力なマッピング言語が付属しており、デプロイと監視が簡単で、静的バイナリ、Docker イメージ、またはサーバーレス関数としてパイプラインにドロップできるため、クラウドネイティブになります。
Benthos は完全に宣言型であり、ストリーム パイプラインは 1 つの構成ファイルで定義されるため、コネクタと処理ステージのリストを指定できます。
input:
gcp_pubsub:
project: foo
subscription: bar
pipeline:
processors:
- bloblang: |
root.message = this
root.meta.link_count = this.links.length()
root.user.age = this.user.age.number()
output:
redis_streams:
url: tcp://TODO:6379
stream: baz
max_in_flight: 20
サポートされているソースとシンク
Apache Pulsar、AWS (DynamoDB、Kinesis、S3、SQS、SNS)、Azure (Blob ストレージ、キュー ストレージ、テーブル ストレージ)、Cassandra、Elasticsearch、ファイル、GCP (Pub/Sub、クラウド ストレージ)、HDFS、HTTP (サーバーおよびクライアント、websockets を含む)、Kafka、Memcached、MQTT、Nanomsg、NATS、NATS JetStream、NATS Streaming、NSQ、AMQP 0.91 (RabbitMQ)、AMQP 1、Redis (ストリーム、リスト、pubsub、ハッシュ)、MongoDB、SQL (MySQL、 PostgreSQL、Clickhouse、MSSQL)、標準入力/標準出力、TCP および UDP、ソケット、および ZMQ4。
具体的な使い方は以下の通りです。
1.ドッカーのインストール
# Using a config file
docker run --rm -v /path/to/your/config.yaml:/benthos.yaml jeffail/benthos
# Using a series of -s flags
docker run --rm -p 4195:4195 jeffail/benthos \
-s "input.type=http_server" \
-s "output.type=kafka" \
-s "output.kafka.addresses=kafka-server:9092" \
-s "output.kafka.topic=benthos_topic"
For specific usage, please refer to this document
. より高度なストリーム処理の概念 (ストリーム接続、拡張ワークフローなど) を構成する方法のガイダンスについては、マニュアル セクションを参照してください。
Go で独自のカスタム プラグインを構築するためのガイダンスについては、パブリック API を確認してください。
この記事は次のように宣言します。
この作品は、 Creative Commons Attribution-Noncommercial 4.0 International License の下で CN Hua Shao によってライセンスされています 。