前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >组件分享之后端组件——基于Golang实现的高性能和弹性的流处理器benthos

组件分享之后端组件——基于Golang实现的高性能和弹性的流处理器benthos

作者头像
cn華少
发布2022-07-12 16:08:44
1.4K0
发布2022-07-12 16:08:44
举报
文章被收录于专栏:IT综合技术分享IT综合技术分享

组件分享之后端组件——基于Golang实现的高性能和弹性的流处理器benthos

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

组件基本信息

内容

本节我们分享的是基于Golang实现的高性能和弹性的流处理器benthos,它能够以各种代理模式连接各种接收器,并对有效负载执行水合、浓缩、转换和过滤

它带有强大的映射语言,易于部署和监控,并且可以作为静态二进制文件、docker 映像或无服务器函数放入您的管道,使其成为云原生。

image.png

Benthos 是完全声明性的,流管道在单个配置文件中定义,允许您指定连接器和处理阶段列表:

代码语言:javascript
复制
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 storage, Queue storage, Table storage), Cassandra, Elasticsearch, File, GCP (Pub/Sub, Cloud storage), HDFS, HTTP (server and client, including websockets), Kafka, Memcached, MQTT, Nanomsg, NATS, NATS JetStream, NATS Streaming, NSQ, AMQP 0.91 (RabbitMQ), AMQP 1, Redis (streams, list, pubsub, hashes), MongoDB, SQL (MySQL, PostgreSQL, Clickhouse, MSSQL), Stdin/Stdout, TCP & UDP, sockets and ZMQ4.

具体使用方式如下:

1、docker安装

代码语言:javascript
复制
# 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。

本文声明:

知识共享许可协议

本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 组件分享之后端组件——基于Golang实现的高性能和弹性的流处理器benthos
    • 背景
      • 组件基本信息
        • 内容
          • 支持的源和接收器
          • 具体使用方式如下:
      相关产品与服务
      NAT 网关
      NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档