Pulsar Connector 预览篇

原创
2020/02/23 13:41
阅读数 249

作者 | tuteng

编辑 | Irene + Anonymitaet


阅读本文需要约 3 分钟。



前言


Apache Pulsar 是分布式发布订阅消息系统。优秀的消息系统应该具备完整的周边生态(包括数据库、缓存或其他系统等),与周边生态的集成是检验消息系统的一个重要指标。


虽然用户可以使用 Pulsar 消费者和生产者 API 编写代码(例如,从数据库同步数据时,先查询数据,再使用 Pulsar 的 API 将数据发布至 Pulsar),但这种方法耗时费力。因此,Pulsar 提出了 Connector (也称为 Pulsar IO),用于解决 Pulsar 与周边系统的集成问题,帮助用户高效完成工作。


Connector 架构


这张图非常直观地描述了 Pulsar IO 的组成。

Pulsar IO 分为输入(Input)和输出(Output)两个模块。


输入:代表数据从哪里来,通过 Source 实现数据输入。数据的来源可以是数据库(例如 MySQL、Oracle、MongoDB)、文件、日志或自定义系统等。


输出:代表数据往哪里去,通过 Sink 实现数据输出。数据的输出可以是数据仓库、数据库等。


当前 Pulsar 支持的 Connector


当前 Apache Pulsar 支持很多 Connector,以下是相关简介:


source

  • Alibaba Canal CDC Source(https://github.com/alibaba/canal):从 Canal 同步 MySQL 数据到 Pulsar

  • Apache Kafka Source(https://kafka.apache.org/):从 Kafka 同步数据到 Pulsar ,或者从 Pulsar 同步数据到 Kafka

  • Debezium Source(https://debezium.io/):从 Debezium 同步数据到 Pulsar,当前支持 MySQL 和 PostgreSQL

  • Elastic Beat Source(https://github.com/streamnative/pulsar-beat-ouput):从 Elastic Beat 搜集日志数据同步到 Pulsar

  • Flume Source(https://github.com/streamnative/pulsar-flume-ng-sink):从 Flume 搜集日志数据并同步到 Pulsar

  • RabbitMQ Source(https://www.rabbitmq.com/):从 RabbitMQ 同步数据到 Pulsar

  • TCP/UDP with Netty Source(https://netty.io/):从 Netty 同步数据到 Pulsar

  • File Source(https://github.com/apache/pulsar/blob/master/pulsar-io/file):从文件同步数据到 Pulsar


Sink

  • Aerospike Sink(https://www.aerospike.com/):从 Pulsar 同步数据到 Aerospike

  • Apache Cassandra Sink(https://cassandra.apache.org/):从 Pulsar 同步数据到 Cassandra

  • Apache HDFS v2 Sink(https://hadoop.apache.org/):从 Pulsar 同步数据到 HDFS

  • Apache HDFS v3 Sink(https://hadoop.apache.org/):从 Pulsar 同步数据到 HDFS

  • Apache Kafka Sink(https://kafka.apache.org/):从 Pulsar 同步数据到 Kafka

  • AWS Kinesis Sink(https://aws.amazon.com/cn/kinesis/):从 Pulsar 同步数据到 Kinesis

  • Elastic Search Sink(https://www.elastic.co/):从 Pulsar 同步数据到 Elastic Search

  • HBase Sink(https://hbase.apache.org/):从 Pulsar 同步数据到 HBase

  • InfluxDB Sink(https://www.influxdata.com/):从 Pulsar 同步数据到 InfluxDB

  • JDBC Sink(https://github.com/apache/pulsar/tree/master/pulsar-io/jdbc):从 Pulsar 同步数据,并通过 JDBC 输出,当前支持输出到 MySQL 和 SQLite

  • MongoDB Sink(https://www.mongodb.com/):从 Pulsar 同步数据到 MongoDB

  • RabbitMQ Sink(https://www.rabbitmq.com/):从 Pulsar 同步数据到 RabbitMQ

  • Redis Sink(https://redis.io/):从 Pulsar 同步数据到 Redis

  • Solr Sink(http://lucene.apache.org/solr/):从 Pulsar 同步数据到 Solr

  • Twitter Firehose Sink(https://developer.twitter.com/en/docs):从 Pulsar 同步数据到 Twitter FireHose


以上是一些已有的 Connector,更多 Connector 正在紧张研发中。之后会发布更详细的 Connector 使用教程,敬请期待。


更多关于 Pulsar 的技术干货和产品动态,请关注 StreamNative 微信公众号。


本文分享自微信公众号 - StreamNative(StreamNative)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部