码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 组件分享之后端组件——基于Golang实现的高性能和弹性的流处理器benthos


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

    背景

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

    组件基本信息

    • 组件:benthos
    • 开源协议:MIT license
    • 官网:www.benthos.dev

    内容

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

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

    image.png

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

    1. input:
    2. gcp_pubsub:
    3. project: foo
    4. subscription: bar
    5. pipeline:
    6. processors:
    7. - bloblang: |
    8. root.message = this
    9. root.meta.link_count = this.links.length()
    10. root.user.age = this.user.age.number()
    11. output:
    12. redis_streams:
    13. url: tcp://TODO:6379
    14. stream: baz
    15. 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安装

    1. # Using a config file
    2. docker run --rm -v /path/to/your/config.yaml:/benthos.yaml jeffail/benthos
    3. # Using a series of -s flags
    4. docker run --rm -p 4195:4195 jeffail/benthos \
    5. -s "input.type=http_server" \
    6. -s "output.type=kafka" \
    7. -s "output.kafka.addresses=kafka-server:9092" \
    8. -s "output.kafka.topic=benthos_topic"

    具体使用方式可以参见该文档
    有关如何配置更高级的流处理概念(例如流连接、扩充工作流等)的指导,请查看说明书部分。

    有关在 Go 中构建您自己的自定义插件的指导,请查看公共 API。

    本文声明:
    88x31.png
    知识共享许可协议
    本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
  • 相关阅读:
    读书笔记:Effective+Debugging-软件和系统调试的66个有效方法
    【Spring】Bean的装配与管理
    【Python零基础入门篇 · 34】:进程间的通信-Queue、进程池的构建
    过去完成时习题
    遥感检测与分割论文阅读
    云计算-云平台-国产-华为-FusionSphere+HCIE Cloud相关知识点+笔试题库
    Optimization of DQN
    融云 IM & RTC 能力上新盘点
    爆款自媒体带货脚本,大V不外传的流量密码
    Leetcode 816. 模糊坐标
  • 原文地址:https://blog.csdn.net/csde12/article/details/125554748
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号