首页 > 其他分享 >arroyo+redpanda 集成试用

arroyo+redpanda 集成试用

时间:2023-04-19 21:04:38浏览次数:99  
标签:string kafka connect 试用 type arroyo redpanda

arroyo 对于kafka 有着很不错的集成支持(目前版本可以说是优先支持的),使用原生kafka 是一个选择,但是部署以及管理感觉比较费事
以前简单介绍过redpanda,所以尝试下集成

环境准备

  • docker-compose
    包含了redpandadata console,connect,以及一个测试,对于arroyo 使用了与redpandadata 同一个网络

 

version: '3'
networks:
redpanda_network:
driver: bridge
volumes:
redpanda: null
services:
redpanda:
image: docker.redpanda.com/redpandadata/redpanda:v23.1.4
command:
- redpanda start
- --smp 1
- --overprovisioned
- --kafka-addr PLAINTEXT://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092
- --advertise-kafka-addr PLAINTEXT://redpanda:29092,OUTSIDE://localhost:9092
- --pandaproxy-addr 0.0.0.0:8082
- --advertise-pandaproxy-addr localhost:8082
ports:
- 8081:8081
- 8082:8082
- 9092:9092
- 9644:9644
- 29092:29092
volumes:
- redpanda:/var/lib/redpanda/data
networks:
- redpanda_network

 

console:
image: docker.redpanda.com/redpandadata/console:v2.2.3
entrypoint: /bin/sh
command: -c "echo \"$$CONSOLE_CONFIG_FILE\" > /tmp/config.yml; /app/console"
environment:
CONFIG_FILEPATH: /tmp/config.yml
CONSOLE_CONFIG_FILE: |
kafka:
brokers: ["redpanda:29092"]
schemaRegistry:
enabled: true
urls: ["http://redpanda:8081"]
redpanda:
adminApi:
enabled: true
urls: ["http://redpanda:9644"]
connect:
enabled: true
clusters:
- name: local-connect-cluster
url: http://connect:8083
ports:
- 8080:8080
networks:
- redpanda_network
depends_on:
- redpanda

 

owl-shop:
image: quay.io/cloudhut/owl-shop:latest
networks:
- redpanda_network
#platform: 'linux/amd64'
environment:
- SHOP_KAFKA_BROKERS=redpanda:29092
- SHOP_KAFKA_TOPICREPLICATIONFACTOR=1
- SHOP_TRAFFIC_INTERVAL_RATE=1
- SHOP_TRAFFIC_INTERVAL_DURATION=0.1s
depends_on:
- redpanda

 

connect:
image: docker.redpanda.com/redpandadata/connectors:latest
hostname: connect
container_name: connect
networks:
- redpanda_network
#platform: 'linux/amd64'
depends_on:
- redpanda
ports:
- "8083:8083"
environment:
CONNECT_CONFIGURATION: |
key.converter=org.apache.kafka.connect.converters.ByteArrayConverter
value.converter=org.apache.kafka.connect.converters.ByteArrayConverter
group.id=connectors-cluster
offset.storage.topic=_internal_connectors_offsets
config.storage.topic=_internal_connectors_configs
status.storage.topic=_internal_connectors_status
config.storage.replication.factor=-1
offset.storage.replication.factor=-1
status.storage.replication.factor=-1
offset.flush.interval.ms=1000
producer.linger.ms=50
producer.batch.size=131072
CONNECT_BOOTSTRAP_SERVERS: redpanda:29092
CONNECT_GC_LOG_ENABLED: "false"
CONNECT_HEAP_OPTS: -Xms512M -Xmx512M
CONNECT_LOG_LEVEL: info
app:
image: ghcr.io/arroyosystems/arroyo-single:multi-arch
networks:
- redpanda_network
ports:
- "8000:8000"
- "8001:8001"

启动&测试

  • 启动
docker-compose up -d
  • 创建kafka topic

arroyo+redpanda 集成试用_github

 

 

  • 配置arroyo connections、source 以及sink
    我们测试的时候因为部署了一个owl-shop 服务,可以直接将owl-shop 的topic 作为source,然后写入到demo topic中(sink)
    connections 配置

arroyo+redpanda 集成试用_kafka_02

 

 

kafka source 配置

arroyo+redpanda 集成试用_kafka_03

 

 

json schema 定义


 

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Product",
"type": "object",
"properties": {
"version": { "type": "number" },
"id": { "type": "string" },
"customer": {
"type": "object",
"properties": { "id": { "type": "string" }, "type": { "type": "string" } }
},
"type": { "type": "string" },
"firstName": { "type": "string" },
"lastName": { "type": "string" },
"state": { "type": "string" },
"street": { "type": "string" },
"houseNumber": { "type": "string" },
"city": { "type": "string" },
"zip": { "type": "string" },
"latitude": { "type": "number" },
"longitude": { "type": "number" },
"phone": { "type": "string" },
"additionalAddressInfo": { "type": "string" },
"createdAt": { "type": "string" },
"revision": { "type": "number" }
}
}

arroyo+redpanda 集成试用_kafka_04

 

 

kafka sink 创建

arroyo+redpanda 集成试用_kafka_05

 

 

  • 创建job (pipeline)

sql 查询

arroyo+redpanda 集成试用_github_06

job 执行

arroyo+redpanda 集成试用_kafka_07

redpanda console 效果

arroyo+redpanda 集成试用_docker_08

 

 

说明

arroyo+redpanda 的pipeline 还是一种不错的选择,至少redpanda 部署以及使用还是比较简单的,而且支持不少kafaka 周边的兼容,是一个不错的选择,
arroyo 测试目前来说支持的source 以及sink 不是很多(核心还是kafaka)但是基于sql 的处理模式真的很方便,相比kafaka 的stream 简单不少,值得尝试下

参考资料

https://github.com/rongfengliang/arroyo-redpanda-learning
https://github.com/ArroyoSystems/arroyo
https://github.com/redpanda-data/redpanda
https://redpanda.com/

标签:string,kafka,connect,试用,type,arroyo,redpanda
From: https://blog.51cto.com/rongfengliang/6207430

相关文章

  • 测试用例id命名规则
    测试用例ID:测试用例编号自行命名,使用英文和数字以及下划线,不得重复,格式为:特性命名规则:tc_一级特性(英文)_二级特性(英文)_三级特性(英文)_0X(01-99)_00X(001-999)功能格式为:fc_一级特性(英文)_二级特性(英文)_三级特性(英文)_0X(01-99)_00X(001-999) 产品特性简介:产品的特性是指产品所具......
  • Cypress之动态忽略测试用例
    Cypress之动态忽略测试用例示例代码:describe('Login',()=>{constusername='';constpassword='';context('TestLogin',()=>{if(Cypress.env('funFlag')==1){cy.visi......
  • 测试需要写测试用例吗?
    昨天下午星球群里有同学发了一段话,引起了很多同学的讨论。这段话是这样的:测试用例主要作用:有效地评估软件的质量,测试用例质量体现了测试的质量。下面摘取一部分同学的观点:评估软件质量应该看测试报告之类的结果;测试用例主要作用是确定测试范围和测试场景;这句话没毛病,除非......
  • arroyo sql 处理
    我在arroyodocker镜像处理的时候简单说过一个arroyo的编译服务,在看了官方介绍之后发现官方是有说明的参考处理基于datafusion解析查询以及计划生成查询计划编译为arroyo逻辑dataflow计划dataflow逻辑计划,生成rust代码rust代码编译为将在arroyo工作节点的二进制文件......
  • arroyo single docker 镜像说明
    arroyosingledocker镜像使用了ubuntu作为基础镜像,里边包含了不少服务,同时基于supervisord进行服务管理具体dockerfile参考github我简单介绍一些其他服务supervisord配置/opt/arroyo/src/docker/single/supervisord.conf目录 [supervisord]nodaemon=tru......
  • 接口测试用例设计
    一、接口测试的测试点功能测试:1、单接口测试:一个单独的业务,就对应一个独立的接口。如:登录业务,对应登录接口2、业务场景测试:多个接口被连续调用(模拟用户的实际使用场景)性能测试:1、响应时长:从发送请求到接收到服务器回发响应经历的时间。......
  • TiDB × 阿里云试用体验(随迟但到)
    作者:CuteRay前言其实TiDB的阿里云试用活动其实也过去一段时间了,之前一直没有整块整块的时间慢慢地折腾,只能趁着闲暇之余慢慢体验,这篇文章也就写的很慢了,可惜错过了文章征文活动,错过好多礼物(咱们写文章是为了奖品的吗?肤浅!!!)。行话不多说,直入正题。部署部署没什么太多需要讲的,......
  • 瓴羊 Quick BI 国产数字化智能工具口碑怎么样?30 天免费试用
    国外市场对于BI工具的研发要比国内更早更先进,但是要论起服务体验,国内市场上有名的数字化智能升级工具例如瓴羊QuickBI、FineBI等要比很多“洋BI”更接地气。作为外来BI,Tableau的中国化做得比较一般,因此并没有赢得大部分国内企业的芳心,只在跨境企业应用广泛。近来,瓴羊Quic......
  • Beyond Compare4 30天试用到期!
    额,今天又提示试用到期了。。。不过这个确实好用,没办法那就继续解决呗,就去千度找了找下面是亲测有效的方法,以免以后又去一通瞎找,特此记录一下。。。直接去注册表,按路径找到 \HKEY_CURRENT_USER\Software\ScooterSoftware\BeyondCompare4\CacheId  然后,右击直接删除掉就......
  • linux navicat重置试用期
    navicat的信息保存在当前用户目录的.config下备份mv~/.config/navicat~/.config/navicatbakmv~/.config/dconf/user~/.config/dconf/userbak这时打开navicat发现又是新的14天试用期恢复原连接mkdir-p~/.config/navicat/Commoncp~/.config/navicatbak/Common/connec......