benthos 是一个stream 处理框架,streamsets 也是,但是两者可以通过不同的工具进行集成起来
一般我们可以使用http 服务,消息中间件(kafka、rabbitmq 。。。)

使用docker-compose 运行

服务配置

  • docker-compose 文件
version: "3"
services:
sets:
image: streamsets/datacollector
volumes:
- "./ms/data:/data"
- "./ms/logs:/logs"
- "./ms/tmp:/tmp"
ports:
- "8000:8000"
- "18630:18630"
redis:
image: redis
ports:
- "6379:6379"
benthos-in:
image: jeffail/benthos
environment:
INPUT_TYPE: "http_server"
INPUT_HTTP_SERVER_ADDRESS: "0.0.0.0:8080"
OUTPUT_TYPE: "amqp"
OUTPUT_AMQP_URL: "amqp://guest:guest@rabbitmq:5672/appdemo"
OUTPUT_AMQP_EXCHANGE: "benthos-exchange"
OUTPUT_AMQP_EXCHANGE_TYPE: "direct"
OUTPUT_AMQP_KEY: "benthos-key"
ports:
- "8080:8080"
rabbitmq:
image: rabbitmq:3.6.14-management
ports:
- "4369:4369"
- "5671:5671"
- "5672:5672"
- "25672:25672"
- "15672:15672"
  • 启动
docker-compose up -d
  • 添加streamsets rabbitmq 包
  • rabbitmq vhost 创建

说明

benthos 使用http service 与rabbitmq 集成的模式,streamsets 使用rabbitmq customer 与local fs 集成的模式
benthos 服务的启动 curl http://localhost:8080/post -d "example message"
同时首选需要进行vhost 的创建,目前发现的一个bug的使用默认的就会有问题,需要单独创建,可以使用管理界面
http://docker-host:15672

streamsets 配置

  • pipeline flow
  • rabbitmq 配置


  • local fs
  • benthos 配置说明
参考docker-compose 文件
environment:
INPUT_TYPE: "http_server"
INPUT_HTTP_SERVER_ADDRESS: "0.0.0.0:8080"
OUTPUT_TYPE: "amqp"
OUTPUT_AMQP_URL: "amqp://guest:guest@rabbitmq:5672/appdemo"
OUTPUT_AMQP_EXCHANGE: "benthos-exchange"
OUTPUT_AMQP_EXCHANGE_TYPE: "direct"
OUTPUT_AMQP_KEY: "benthos-key"

启动pipeline

效果

  • 访问(发送消息)
curl http://localhost:8080/post -d "rongfengliang@qq.com"
  • 效果

配置问题说明

目前发现streamsets rabbit 配置必须包含一个vhost 不能使用默认的。

参考资料

https://github.com/rongfengliang/streamsets-demos
https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Origins/RabbitMQ.html#concept_dyg_lq1_h5
https://github.com/Jeffail/benthos

 
 
 
 

streamsets 集成 rabbitmq 以及benthos stream 处理框架的更多相关文章

  1. benthos stream nats 集成试用

    测试demo 来自官方例子 使用docker-compose 进行运行 nats docker-compose file version: '3.3' services: nats: image: n ...

  2. benthos stream 处理工具说明

    benthos 是golang 编写的流处理工具,同时也可以作为一个类库使用,当前支持的source sink 还是比较全的 (kafka rabbitmq http service s3 redis ...

  3. NET Core 2.0利用MassTransit集成RabbitMQ

    NET Core 2.0利用MassTransit集成RabbitMQ https://www.cnblogs.com/Andre/p/9579764.html 在ASP.NET Core上利用Mas ...

  4. go-micro集成RabbitMQ实战和原理

    在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ.Kafka.Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方 ...

  5. rabbitMQ第五篇:Spring集成RabbitMQ

    前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...

  6. RabbitMQ第四篇:Spring集成RabbitMQ

    前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...

  7. springboot集成rabbitmq(实战)

    RabbitMQ简介RabbitMQ使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现(AMQP的主要特征是面向消息.队列.路由.可靠性.安全).支持多种客户端,如:Python.Ru ...

  8. SpringBoot集成rabbitmq(二)

    前言 在使用rabbitmq时,我们可以通过消息持久化来解决服务器因异常崩溃而造成的消息丢失.除此之外,我们还会遇到一个问题,当消息生产者发消息发送出去后,消息到底有没有正确到达服务器呢?如果不进行特 ...

  9. SpringBoot集成rabbitmq(一)

    前言 Rabbitmq是一个开源的消息代理软件,是AMQP协议的实现.核心作用就是创建消息队列,异步发送和接收消息.通常用来在高并发中处理削峰填谷.延迟处理.解耦系统之间的强耦合.处理秒杀订单.  入 ...

随机推荐

  1. 多线程(JDK1.5的新特性互斥锁)

    多线程(JDK1.5的新特性互斥锁)(掌握)1.同步·使用ReentrantLock类的lock()和unlock()方法进行同步2.通信·使用ReentrantLock类的newCondition( ...

  2. GetTextAndImageCreateExamPaper

    Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA&quo ...

  3. 4-4 集成测试练习,和测试基础知识(guide)。

    Guide指南 18章应用测试指南(简单学习了一下.) (中文版--主要是为了先理解,之前看过英文版受语言影响,怕理解有偏差.) Minitest::Test是ActiveSupport::TestC ...

  4. scrapy微信爬虫使用总结

    scrapy+selenium+Chrome+微信公众号爬虫 概述 1.微信公众号爬虫思路: 参考:记一次微信公众号爬虫的经历 2.scrapy框架图 3.scrapy经典教程 参考: python ...

  5. 利用nodeJs anywhere搭建本地服务器环境

    1.npm install anywhere -g 如果是mac系统会提示你权限不够,需要在代码前加上 sudo获取管理员权限.即sudo npm install anywhere -g. 2.安装完 ...

  6. JDBC连接SqlServer数据库(非默认实例)方法

    一般我们在连接数据库的时候都是用的默认实例名,今天遇到了用非默认是实例名:连接代码如下(Java): URL=jdbc:microsoft:sqlserver://192.168.1.85//DEMO ...

  7. OAF中多语言的实现(转)

    正好前两天研究过这个问题,分享一下啊. 标题:        OAF中多语言的实现概述:        OAF的多语言的实现有两种方式,其一是直接通过页面上面的“个性化”连接,连接到指定的页面后,进行 ...

  8. Nginx 关于 location 的匹配规则详解

    有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...

  9. dwz tree组件 取得所选择的值

    DWZ的树结构是按<ul>,<li>的嵌套格式构成,最顶级的<ul>以class=”tree”标识. treeFolder, treeCheck, expand|c ...

  10. TypeScript安装

    1.Installing Node.js and updating npm Updating npm----npm install npm@latest -g Installing TypeScrip ...