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. Three Pieces CodeForces - 1065D (BFS)

    链接 大意: n*n棋盘, 每个格子写有数字, 各不相同, 范围[1,n*n], 初始在数字1的位置, 可以操纵knight,bishop,rook三种棋子, 每走一步花费1, 交换棋子花费1, 问按 ...

  2. Socket编程基础篇

    Socket又称"套接字",应用程序通常通过“套接字”向网络发生请求或者应答网络请求. Socket和ServerSocket类库位于java.net包中,ServerSocket ...

  3. CMD模拟http请求

    搭建环境 前提是在win7中开启telnet服务 开启方法请参考:http://jingyan.baidu.com/article/870c6fc3cd6fa9b03fe4bee4.html 打开Te ...

  4. 【CSS】清除浮动的五种方式

    清除浮动是一件功德无量的事情23333 这里记录一下清除浮动的多种方式 *首先要明确的是,为什么要清除浮动? A 影响其他元素定位 父盒子高度为0,子盒子全部浮动.定位,子盒子不会撑开父盒子,下面的元 ...

  5. SQL基础用法(实例一)

    /* 2006年10月01日 SQL Server 数据库的基本操作 (1) 数据库的创建 (2) 数据表的创建以及相关约束的指定(含临时表) (3) 数据的添/删/改 (4) 数据的查询 */ () ...

  6. 桥接、nat、host-only

  7. laravel通过Eloquent ORM实现CURD

    //Eloquent ORM public function orm1() { //all(); 返回所有数据: /*$students=Student::all(); dd($students);* ...

  8. Python Django 之 Template 模板语言简介

    一.什么事模板语言 html+逻辑控制语句 二.模板语言的作用 帮助前端处理后端发来的数据,方便前端展示(杂糅渲染) 三.模板语言语法 1.{{变量}} 变量使用双大括号{{}} 2.万能的句点号. ...

  9. Windows 7 英文版操作系统中文软件乱码解决方法

    http://blog.csdn.net/lqhbupt/article/details/18863243

  10. 大数据技术Hadoop面试题

    1. 下面哪个程序负责 HDFS 数据存储.答案C datanode a)NameNodeb)Jobtrackerc)Datanode d)secondaryNameNodee)tasktracker ...