Componentes de back-end después de compartir componentes: bentos de procesador de flujo flexible y de alto rendimiento basado en Golang

Componentes de back-end después de compartir componentes: bentos de procesador de flujo flexible y de alto rendimiento basado en Golang

fondo

Recientemente, estamos explorando varios componentes y herramientas comunes en el front-end, back-end y del lado del sistema, y ​​reorganizamos algunos de los componentes comunes para formar un tema de componente estandarizado, que luego incluirá algunos componentes de uso común en varios idiomas. . Bienvenidos todos a seguir prestando atención.

Información básica del componente

contenido

En esta sección, compartimos el bentos del procesador de flujo elástico y de alto rendimiento basado en Golang , que puede conectar varias fuentes y sumideros en varios modos de proxy , y realizar hidratación, enriquecimiento, transformación y filtrado en la carga útil .

Viene con un poderoso lenguaje de mapeo , es fácil de implementar y monitorear, y puede colocarse en su tubería como un binario estático, una imagen acoplable o una función sin servidor , lo que lo hace nativo de la nube.

imagen.png

Benthos es completamente declarativo, las canalizaciones de transmisión se definen en un solo archivo de configuración, lo que le permite especificar una lista de conectores y etapas de procesamiento:

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

Fuentes y sumideros compatibles

Apache Pulsar, AWS (DynamoDB, Kinesis, S3, SQS, SNS), Azure (Blob storage, Queue storage, Table storage), Cassandra, Elasticsearch, File, GCP (Pub/Sub, Cloud storage), HDFS, HTTP (servidor y cliente, incluidos websockets), Kafka, Memcached, MQTT, Nanomsg, NATS, NATS JetStream, NATS Streaming, NSQ, AMQP 0.91 (RabbitMQ), AMQP 1, Redis (streams, list, pubsub, hash), MongoDB, SQL (MySQL, PostgreSQL, Clickhouse, MSSQL), Stdin/Stdout, TCP y UDP, sockets y ZMQ4.

El uso específico es el siguiente:

1. instalación de la ventana acoplable

# 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"

Para un uso específico, consulte este documento
Para obtener orientación sobre cómo configurar conceptos de procesamiento de transmisión más avanzados (como conexiones de transmisión, flujos de trabajo aumentados, etc.), consulte la sección del manual.

Para obtener orientación sobre cómo crear sus propios complementos personalizados en Go, consulte la API pública.

Este artículo declara:
88x31.png
Licencia Creative Commons
Este trabajo está autorizado por CN Hua Shao bajo la licencia internacional Creative Commons Attribution-Noncommercial 4.0.

Supongo que te gusta

Origin blog.csdn.net/csde12/article/details/125554748
Recomendado
Clasificación