当前位置: 代码迷 >> 综合 >> Pulsar支持的Connector(Pulsar IO)
  详细解决方案

Pulsar支持的Connector(Pulsar IO)

热度:52   发布时间:2023-11-28 01:19:11.0

1、前言

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

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

2、Connector 架构

在这里插入图片描述
这张图非常直观地描述了 Pulsar IO 的组成。

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

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

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

3、当前 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,当前支持 MySQLPostgreSQL

  • 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 输出,当前支持输出到 MySQLSQLite

  • 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 使用教程,敬请期待。

  相关解决方案