Skip to content
Apache Pulsar - distributed pub-sub messaging system
Java C++ Python Go Shell C Other
Branch: master
Clone or download

Latest commit

jiazhai fix website 2.5.2 (#7081)
the website for 2.5.2 is cut from branch-2.5 and outdated with wanted code. This PR build the website based on the content of 2.5.1 to make it right.
Latest commit 4872b06 May 28, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci [CI] Group disabled components under the same tag in the ci clusters … Apr 18, 2020
.github Fix the flaky function test. (#7057) May 28, 2020
.test-infra/jenkins Removed mentions to incubator-pulsar (#2620) Sep 25, 2018
.travis Maven artifacts relases into Apache (#607) Jul 29, 2017
bin Add a message on how to make log refresh immediately when starting a … Feb 29, 2020
bouncy-castle Support BouncyCastle FIPS provider (#6588) Mar 28, 2020
build/docker Fix pulsar build image with maven 3.6.1 (#5886) Dec 18, 2019
buildtools Bump version to 2.6.0 (#5820) Dec 9, 2019
conf Add pulsar SQL woker metrics to repo (#7031) May 25, 2020
dashboard Fixed dashboard start failed (#6857) May 7, 2020
deployment variables not properly set (#6963) May 18, 2020
dev Vagrantfile update for build dependency (#5968) Jan 1, 2020
distribution Add dynamodb streams source (#6874) May 19, 2020
docker-compose/standalone-dashboard Add sample docker-compose file with pulsar standalone (#2617) Sep 24, 2018
docker [Grafana] Add tags to all grafana dashboards (#6770) Apr 27, 2020
examples ISSUE-5934: Support read/write properties from/to Message in flink pu… Mar 26, 2020
kafka-connect-avro-converter-shaded [Pulsar IO][Issue 5633]Support avro schema for debezium connector (#6034 Apr 30, 2020
managed-ledger Add properties for managed-ledger. (#7054) May 27, 2020
node_modules [Docs] Add admin api docs of Pulsar Functions (#5593) Nov 12, 2019
protobuf-shaded Bump version to 2.6.0 (#5820) Dec 9, 2019
protobuf Add ASF headers to Markdown documentation files (#823) Oct 17, 2017
pulsar-broker-auth-athenz [Maven Cleanup] Remove managed-ledger and zk-utils test-jar dependenc… Mar 11, 2020
pulsar-broker-auth-sasl Suggest use sha-512 in SaslRoleTokenSigner for security concern (#6447) Mar 31, 2020
pulsar-broker-common [Issue 5720][authorization provider] Add granularity (#6428) May 18, 2020
pulsar-broker-shaded Support BouncyCastle FIPS provider (#6588) Mar 28, 2020
pulsar-broker Fixed updating partitioned topic without subscriptions (#7064) May 28, 2020
pulsar-client-1x-base Support BouncyCastle FIPS provider (#6588) Mar 28, 2020
pulsar-client-admin-shaded Support BouncyCastle FIPS provider (#6588) Mar 28, 2020
pulsar-client-admin [Issue 4803][client] return null if the message value/data is not set… May 19, 2020
pulsar-client-all Support BouncyCastle FIPS provider (#6588) Mar 28, 2020
pulsar-client-api [Issue #6842] feat(schema): allow for schema reader and writer regist… May 18, 2020
pulsar-client-auth-athenz Bump version to 2.6.0 (#5820) Dec 9, 2019
pulsar-client-auth-sasl Number of placeholder doesn't match number of arguments in logging (#… Mar 27, 2020
pulsar-client-cpp Fix Result can't be serialized to string (#7034) May 27, 2020
pulsar-client-go [Issue 4175] [pulsar-function-go] Add Go Function heartbeat (and gRPC… Feb 4, 2020
pulsar-client-kafka-compat Number of placeholder doesn't match number of arguments in logging (#… Mar 27, 2020
pulsar-client-messagecrypto-bc Add Joda time logical type conversion. (#6704) Apr 11, 2020
pulsar-client-shaded Support BouncyCastle FIPS provider (#6588) Mar 28, 2020
pulsar-client-tools-test Enable users to set subscription expiration time for each namespace (#… May 1, 2020
pulsar-client-tools Add Tls with keystore type config support (#6853) May 8, 2020
pulsar-client Make the json node field public to be able to extract it in the place… May 26, 2020
pulsar-common Added ability to add annotations to Connector Configs (#6983) May 22, 2020
pulsar-discovery-service Add Tls with keystore type config support (#6853) May 8, 2020
pulsar-flink [Issue 4803][client] return null if the message value/data is not set… May 19, 2020
pulsar-function-go Fix Go Functions metrics (#6944) May 15, 2020
pulsar-functions Remove function files stored in BK when function is de-registered (#7052 May 27, 2020
pulsar-io Added ability to add annotations to Connector Configs (#6983) May 22, 2020
pulsar-log4j2-appender Bump version to 2.6.0 (#5820) Dec 9, 2019
pulsar-metadata [minor]Reduce redundancy (#6611) Mar 26, 2020
pulsar-proxy rm unused keystore files (#6952) May 18, 2020
pulsar-spark Bump version to 2.6.0 (#5820) Dec 9, 2019
pulsar-sql Add pulsar SQL woker metrics to repo (#7031) May 25, 2020
pulsar-storm [Issue 4803][client] return null if the message value/data is not set… May 19, 2020
pulsar-testclient Add test time for perf consumer and perf reader (#7044) May 27, 2020
pulsar-transaction Bump version to 2.6.0 (#5820) Dec 9, 2019
pulsar-websocket [pulsar-broker] support configurable zk-cache expiry time (#6668) Apr 13, 2020
pulsar-zookeeper-utils Make ZkBookieRackAffinityMapping work as expected (#6917) May 19, 2020
pulsar-zookeeper Bump version to 2.6.0 (#5820) Dec 9, 2019
site2 fix website 2.5.2 (#7081) May 28, 2020
src [transaction-coordinator] Implementation of transaction coordinator c… Dec 9, 2019
testmocks [Test] Removed double retain in mocked ledger handle (#6792) Apr 22, 2020
tests [Issue 5215,4601,5215][pulsar-io] Add jdbc sinks: postgres, mariadb, … May 18, 2020
tiered-storage Avoid prefetch too much data when offloading data to HDFS (#6717) Apr 22, 2020
.asf.yaml Fix license header and always run license check (#6222) Feb 5, 2020
.gitignore Config admin CLI (#6681) Apr 8, 2020
.travis.yml Fixes to get the travis build running again (#3204) Dec 17, 2018
CONTRIBUTING.md Add contributing info (#6771) Apr 20, 2020
CONTRIBUTORS.md Add ASF headers to Markdown documentation files (#823) Oct 17, 2017
LICENSE Fixes for NOTICE and LICENSE files for src and bin distribution (#563) Jul 18, 2017
NOTICE Update copyright year in NOTICE files to 2019 (#3283) Jan 3, 2019
README.md Update README.md about the repositories managed by Pulsar PMC (#6722) Apr 13, 2020
ct.yaml Improve Helm chart (#6673) Apr 8, 2020
faq.md [Doc] Fix FAQ broken link (#4640) Jul 10, 2019
pom.xml Add dynamodb streams source (#6874) May 19, 2020

README.md

logo

Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API.

Learn more about Pulsar at https://pulsar.apache.org

Main features

  • Horizontally scalable (Millions of independent topics and millions of messages published per second)
  • Strong ordering and consistency guarantees
  • Low latency durable storage
  • Topic and queue semantics
  • Load balancer
  • Designed for being deployed as a hosted service:
    • Multi-tenant
    • Authentication
    • Authorization
    • Quotas
    • Support mixing very different workloads
    • Optional hardware isolation
  • Keeps track of consumer cursor position
  • REST API for provisioning, admin and stats
  • Geo replication
  • Transparent handling of partitioned topics
  • Transparent batching of messages

Repositories

This repository is the main repository of Apache Pulsar. Pulsar PMC also maintains other repositories for components in the Pulsar ecosystem, including connectors, adapters, and other language clients.

Ecosystem

Clients

Dashboard & Management Tools

Documentation

CI/CD

Build Pulsar

Requirements:

  • Java JDK 1.8 or Java JDK 11
  • Maven 3.3.9+

Compile and install:

$ mvn install -DskipTests

Run Unit Tests:

$ mvn test

Run Individual Unit Test:

$ cd module-name (e.g: pulsar-client)
$ mvn test -Dtest=unit-test-name (e.g: ConsumerBuilderImplTest)

Start standalone Pulsar service:

$ bin/pulsar standalone

Check https://pulsar.apache.org for documentation and examples.

Setting up your IDE

Apache Pulsar is using lombok so you have to ensure your IDE setup with required plugins.

Intellij

To configure annotation processing in IntelliJ:

  1. Open Annotation Processors Settings dialog box by going to Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors.

  2. Select the following buttons:

    1. "Enable annotation processing"
    2. "Obtain processors from project classpath"
    3. "Store generated sources relative to: Module content root"
  3. Set the generated source directories to be equal to the Maven directories:

    1. Set "Production sources directory:" to "target/generated-sources/annotations".
    2. Set "Test sources directory:" to "target/generated-test-sources/test-annotations".
  4. Click "OK".

  5. Install the lombok plugin in intellij.

Eclipse

Follow the instructions here to configure your Eclipse setup.

Build Pulsar docs

Refer to the docs README.

Contact

Mailing lists
Name Scope
users@pulsar.apache.org User-related discussions Subscribe Unsubscribe Archives
dev@pulsar.apache.org Development-related discussions Subscribe Unsubscribe Archives
Slack

Pulsar slack channel at https://apache-pulsar.slack.com/

You can self-register at https://apache-pulsar.herokuapp.com/

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Crypto Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software: Pulsar uses the SSL library from Bouncy Castle written by http://www.bouncycastle.org.

You can’t perform that action at this time.