streamsets 集成 rabbitmq 以及benthos stream 处理框架
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 处理框架的更多相关文章
- benthos stream nats 集成试用
测试demo 来自官方例子 使用docker-compose 进行运行 nats docker-compose file version: '3.3' services: nats: image: n ...
- benthos stream 处理工具说明
benthos 是golang 编写的流处理工具,同时也可以作为一个类库使用,当前支持的source sink 还是比较全的 (kafka rabbitmq http service s3 redis ...
- NET Core 2.0利用MassTransit集成RabbitMQ
NET Core 2.0利用MassTransit集成RabbitMQ https://www.cnblogs.com/Andre/p/9579764.html 在ASP.NET Core上利用Mas ...
- go-micro集成RabbitMQ实战和原理
在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ.Kafka.Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方 ...
- rabbitMQ第五篇:Spring集成RabbitMQ
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...
- RabbitMQ第四篇:Spring集成RabbitMQ
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...
- springboot集成rabbitmq(实战)
RabbitMQ简介RabbitMQ使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现(AMQP的主要特征是面向消息.队列.路由.可靠性.安全).支持多种客户端,如:Python.Ru ...
- SpringBoot集成rabbitmq(二)
前言 在使用rabbitmq时,我们可以通过消息持久化来解决服务器因异常崩溃而造成的消息丢失.除此之外,我们还会遇到一个问题,当消息生产者发消息发送出去后,消息到底有没有正确到达服务器呢?如果不进行特 ...
- SpringBoot集成rabbitmq(一)
前言 Rabbitmq是一个开源的消息代理软件,是AMQP协议的实现.核心作用就是创建消息队列,异步发送和接收消息.通常用来在高并发中处理削峰填谷.延迟处理.解耦系统之间的强耦合.处理秒杀订单. 入 ...
随机推荐
- Confluence 6 使用 LDAP 授权连接一个内部目录 - 用户组 Schema 设置
请注意:这部分仅在拷贝用户登录(Copy User on Login)和 同步组成员(Synchronize Group Memberships)被启用后可见. 其他用户组 DN(Additional ...
- 莫比乌斯反演学习笔记(转载自An_Account大佬)
转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\ ...
- PHP函数笔记
一.函数(Function) 1.什么是函数:封装的,可以重复使用的 完成特定功能的代码段. 2.分类 (1)系统函数 (2)自定义函数 3.自定义函数 ...
- Leetcode 105
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...
- ubuntu下没有Language Support
sudo apt-get installlanguage-selector-gnome
- keras-anomaly-detection 代码分析——本质上就是SAE、LSTM时间序列预测
keras-anomaly-detection Anomaly detection implemented in Keras The source codes of the recurrent, co ...
- sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)
之前,我在做统计数据时,需要一个字段显示某月的订单数量和订单金额,要求组合成一个字段,用括号组合. 统计出来的结果大概是这样的,首先我们来创建一些模拟数据 ---创建订单表--- create tab ...
- Awk 从入门到放弃(5)– Awk模式(Pattern)之一
转:http://www.zsythink.net/archives/1426
- 快速切题 hdu2416 Treasure of the Chimp Island 搜索 解题报告
Treasure of the Chimp Island Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- FormShortCut MainForm 和 二级FORM
发现,主FORM 定义的快捷键,在二级FORM里也有效. 反过来,就无效. 这样的话,就要考虑 快捷键的冲突问题 了,本来以为不同的FORM 是独立的. http://codeverge.com/em ...