Back-end компоненты после совместного использования компонентов — высокопроизводительный и гибкий бентос потокового процессора на базе Golang

Back-end компоненты после совместного использования компонентов — высокопроизводительный и гибкий бентос потокового процессора на базе Golang

фон

В последнее время мы изучаем различные общие компоненты и инструменты на стороне интерфейса, сервера и системы и реорганизовали некоторые из общих компонентов, чтобы сформировать тему стандартизированных компонентов, которая позже будет включать некоторые часто используемые компоненты на разных языках. . Приветствую всех, чтобы продолжать обращать внимание.

Основная информация о компоненте

содержание

В этом разделе мы делимся высокопроизводительным и эластичным потоковым процессором benthos на базе Golang , который может подключать различные источники и стоки в различных режимах прокси , а также выполнять гидратацию, обогащение, преобразование и фильтрацию полезной нагрузки .

Он поставляется с мощным языком сопоставления , прост в развертывании и мониторинге и может быть добавлен в ваш конвейер как статический двоичный файл, образ докера или бессерверная функция , что делает его облачным.

изображение.png

Бентос полностью декларативен, потоковые пайплайны определяются в одном конфигурационном файле, что позволяет указать список коннекторов и стадий обработки:

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, File, GCP (Pub/Sub, облачное хранилище), HDFS, HTTP (сервер и клиент, включая веб-сокеты), Kafka, Memcached, MQTT, Nanomsg, NATS, NATS JetStream, NATS Streaming, NSQ, AMQP 0.91 (RabbitMQ), AMQP 1, Redis (потоки, список, pubsub, хэши), MongoDB, SQL (MySQL, PostgreSQL, Clickhouse, MSSQL), Stdin/Stdout, 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"

Для конкретных случаев использования обратитесь к этому документу
, Для получения инструкций по настройке более сложных концепций обработки потоков (таких как потоковые соединения, расширенные рабочие процессы и т. д.) см. раздел руководства .

Чтобы получить рекомендации по созданию собственных пользовательских плагинов в Go, ознакомьтесь с общедоступным API.

В этой статье заявляется:
88x31.png
Лицензия Creative Commons
Эта работа лицензирована CN Hua Shao в рамках международной лицензии Creative Commons Attribution-Noncommercial 4.0.

рекомендация

отblog.csdn.net/csde12/article/details/125554748
рекомендация