├── .github └── CODEOWNERS ├── .gitignore ├── CONTRIBUTING.md └── README.md /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @streamnative/platform @streamnative/technical-writers 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Do you want to contribute? We'd love that. 4 | 5 | ## How? 6 | 7 | The easiest way is to go to https://github.com/streamnative/awesome-pulsar/blob/master/README.md and click on the "pen" icon in the upper right corner. Make the changes to the file and follow the instructions to create a pull request. 8 | 9 | If you want to add an entry to the `README.md` please consider this: 10 | 11 | - if you want to add something, please use the template `- [YYY](https://crates.io/crates/YYY): DESCRIPTION` 12 | - please pay attention to the alphabetical ordering. 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Pulsar 2 | [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fstreamnative%2Fawesome-pulsar.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fstreamnative%2Fawesome-pulsar?ref=badge_shield) 3 | 4 | 5 | A curated list of Pulsar tools, integrations, and resources. 6 | 7 | If you want to contribute, please read [this](CONTRIBUTING.md). 8 | 9 | ## Clients 10 | 11 | The clients developed under ASF. 12 | 13 | - [C++](http://pulsar.apache.org/docs/en/client-libraries-cpp/) 14 | - [Go](http://pulsar.apache.org/docs/en/client-libraries-go/) 15 | - [Java](http://pulsar.apache.org/docs/en/client-libraries-java/) 16 | - [NodeJS](https://github.com/apache/pulsar-client-node) 17 | - [Python](http://pulsar.apache.org/docs/en/client-libraries-python/) 18 | - [Websocket](http://pulsar.apache.org/docs/en/client-libraries-websocket/) 19 | 20 | Other clients: 21 | 22 | - Go 23 | - [pulsar-client-go](https://github.com/Comcast/pulsar-client-go) 24 | - Ruby 25 | - [ruby-pulsar-client](https://github.com/hiroakiwater/ruby-pulsar-client) ([@hiroakiwater](https://github.com/hiroakiwater)) 26 | - [pulsar_sdk](https://github.com/archfish/pulsar_sdk) 27 | - Rust 28 | - [pulsar-rs](https://github.com/wyyerd/pulsar-rs) 29 | - Scala 30 | - [pulsar4s](https://github.com/sksamuel/pulsar4s) 31 | - .NET 32 | - [pulsar-client-dotnet](https://github.com/fsharplang-ru/pulsar-client-dotnet) 33 | - [dotpulsar](https://github.com/danske-commodities/dotpulsar) 34 | 35 | 36 | ## Data Processing 37 | 38 | - Pulsar Flink Integration: 39 | - [Flink 1.9+ Integration](https://github.com/streamnative/pulsar-flink): Streaming source and sink connector, streaming table support and catalog/schema integration. 40 | - [Flink 1.6 Integration](https://github.com/apache/pulsar/tree/master/examples/flink/src/main/java/org/apache/flink/batch/connectors/pulsar/example): A collection of streaming and batch connectors for [Apache Flink](http://flink.apache.org) processing streams in Pulsar. [batch](https://github.com/apache/pulsar/tree/master/examples/flink/src/main/java/org/apache/flink/batch/connectors/pulsar/example) and 41 | [streaming](https://github.com/apache/pulsar/tree/master/examples/flink/src/main/java/org/apache/flink/streaming/connectors/pulsar/example). 42 | - Pulsar Spark Integration: 43 | - [pulsar-spark](http://pulsar.apache.org/docs/en/adaptors-spark/): A [Spark Streaming](http://spark.apache.org) receiver to receive data from Pulsar. 44 | - [streamnative/pulsar-spark](https://github.com/streamnative/pulsar-spark): Pulsar Spark Connector for [Spark SQL](https://spark.apache.org/sql/) and [Spark Structured Streaming](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html). 45 | - [pulsar-storm](http://pulsar.apache.org/docs/en/adaptors-storm): A Pulsar Spout and Bolt for integrating with [Apache Storm](http://storm.apache.org/) topologies. 46 | 47 | ## Interactive Query 48 | 49 | - [pulsar-presto](http://pulsar.apache.org/docs/en/sql-overview/): A presto connector to query Pulsar topics using SQL 50 | 51 | ## Kafka 52 | 53 | - [Kafka Compatibility wrapper](http://pulsar.apache.org/docs/en/adaptors-kafka/): A Java client wrapper that implement [Apache Kafka](http://kafka.apache.org) Java interface. 54 | - [Kafka Pulsar Connector](http://pulsar.apache.org/docs/en/io-kafka/): Pulsar connectors that receive data from and send data to [Apache Kafka](http://kafka.apache.org) 55 | - [Kafka Connect Adoptor](): A Pulsar Connector that adopts Kafka Connect api and run an existing Kafka connector as a Pulsar connector. 56 | 57 | ## Connectors 58 | 59 | - [streamnative/pulsar-io-kafka](https://github.com/streamnative/pulsar-io-kafka): An enhanced version of pulsar-io-kafka connector to support copying data between Kafka and Pulsar with schema. 60 | - [zwzch/fluent-plugin-pulsar](https://github.com/zwzch/fluent-plugin-pulsar): An enhanced version of fluent-plugin-pulsar connector to support copying data between Pulsar and Fluent. 61 | 62 | ## Logging 63 | 64 | - [logstash-input-pulsar](https://github.com/se7enkings/logstash-input-pulsar): A logstash input that receives data from Pulsar. 65 | - [pulsar-beat-output](https://github.com/streamnative/pulsar-beat-output): [Elastic Beats](https://github.com/elastic/beats) to Apache Pulsar. 66 | - [pulsar-flume-ng-sink](https://github.com/streamnative/pulsar-flume-ng-sink): An [Apache Flume](https://github.com/apache/flume) Sink implementation to publish data to Pulsar. 67 | - [pinterest/singer](https://github.com/pinterest/singer): A high-performance, reliable and extensible logging agent for uploading data to Kafka, Pulsar and other similar systems. 68 | 69 | ## Tools 70 | 71 | ### Dashboards 72 | 73 | - [Pulsar Manager](https://github.com/streamnative/pulsar-manager): A web-based GUI management tool for managing and monitoring Pulsar. 74 | - [Pulsar Express](https://github.com/bbonnin/pulsar-express): A simple web interface for Apache Pulsar, it is developed with [Nuxt.js](https://nuxtjs.org/) by [Bruno Bonnin](https://github.com/bbonnin). 75 | - [Pulsar Dashboard](http://pulsar.apache.org/docs/en/administration-dashboard/): A web application that enables users to monitor the current stats of all topics in the tabular form. 76 | 77 | ### Monitoring 78 | 79 | - [pulsar-grafana](http://pulsar.apache.org/docs/en/deploy-monitoring/#grafana): With the `pulsar-grafana` Docker image, you can create a dashboard driven by the data stored in Prometheus. It is enabled by default when deploying Pulsar on Kubernetes. 80 | - [apache-pulsar-grafana-dashboard](https://github.com/streamnative/apache-pulsar-grafana-dashboard): Provides grafana dashboard templates for different Pulsar components running on both Kubernetes and on-premise machines. 81 | 82 | ## Source Code Analysis 83 | 84 | - [Pulsar source code analysis / Pulsar 源码分析](https://github.com/kuangye098/Pulsar-analysis) by [@kuangye098](https://github.com/kuangye098) 85 | 86 | 87 | ## License 88 | [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fstreamnative%2Fawesome-pulsar.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fstreamnative%2Fawesome-pulsar?ref=badge_large) 89 | --------------------------------------------------------------------------------