[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4002":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":33,"discoverSource":34},4002,"pulsar","apache\u002Fpulsar","apache","Apache Pulsar - distributed pub-sub messaging system","https:\u002F\u002Fpulsar.apache.org\u002F",null,"Java",15267,3740,395,1223,0,2,39,45,"Apache License 2.0",false,"master",true,[25,26,27,5,28,29],"event-streaming","messaging","pubsub","queuing","streaming","2026-06-12 02:00:57","\u003C!--\n\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See the NOTICE file\n    distributed with this work for additional information\n    regarding copyright ownership.  The ASF licenses this file\n    to you under the Apache License, Version 2.0 (the\n    \"License\"); you may not use this file except in compliance\n    with the License.  You may obtain a copy of the License at\n\n      http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing,\n    software distributed under the License is distributed on an\n    \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n    KIND, either express or implied.  See the License for the\n    specific language governing permissions and limitations\n    under the License.\n\n-->\n\n![logo](https:\u002F\u002Fpulsar.apache.org\u002Fimg\u002Fpulsar.svg)\n\n[![docker pull](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fapachepulsar\u002Fpulsar-all.svg)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fapachepulsar\u002Fpulsar)\n[![contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors-anon\u002Fapache\u002Fpulsar)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar\u002Fgraphs\u002Fcontributors)\n[![last commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fapache\u002Fpulsar)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar\u002Fcommits\u002Fmaster)\n[![release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fapache\u002Fpulsar?sort=semver)](https:\u002F\u002Fpulsar.apache.org\u002Fdownload\u002F)\n[![downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fapache\u002Fpulsar\u002Ftotal)](https:\u002F\u002Fpulsar.apache.org\u002Fdownload\u002F)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fapache\u002Fpulsar)\n\nPulsar is a distributed pub-sub messaging platform with a very\nflexible messaging model and an intuitive client API.\n\nLearn more about Pulsar at https:\u002F\u002Fpulsar.apache.org\n\n## Main features\n\n- Horizontally scalable (Millions of independent topics and millions\n  of messages published per second)\n- Strong ordering and consistency guarantees\n- Low latency durable storage\n- Topic and queue semantics\n- Load balancer\n- Designed for being deployed as a hosted service:\n  - Multi-tenant\n  - Authentication\n  - Authorization\n  - Quotas\n  - Support mixing very different workloads\n  - Optional hardware isolation\n- Keeps track of consumer cursor position\n- REST API for provisioning, admin and stats\n- Geo replication\n- Transparent handling of partitioned topics\n- Transparent batching of messages\n\n## Repositories\n\nThis repository is the main repository of Apache Pulsar. Pulsar PMC also maintains other repositories for\ncomponents in the Pulsar ecosystem, including connectors, adapters, and other language clients.\n\n- [Pulsar Core](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar)\n\n### Helm Chart\n\n- [Pulsar Helm Chart](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-helm-chart)\n\n### Ecosystem\n\n- [Pulsar Adapters](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-adapters)\n\n### Clients\n\n- [.NET\u002FC# Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-dotpulsar)\n- [C++ Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-client-cpp)\n- [Go Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-client-go)\n- [NodeJS Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-client-node)\n- [Python Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-client-python)\n- [Reactive Java Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-client-reactive)\n\n### Dashboard & Management Tools\n\n- [Dekaf UI](https:\u002F\u002Fgithub.com\u002Fvisortelle\u002Fdekaf)\n- [Pulsar Manager](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-manager)\n\n### Website\n\n- [Pulsar Site](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-site)\n\n### CI\u002FCD\n\n- [Pulsar CI](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-test-infra)\n\n### Archived\u002FHalted\n\n- [Pulsar Connectors](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-connectors) (bundled as [pulsar-io](pulsar-io))\n- [Pulsar Translation](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-translation)\n- [Pulsar SQL (Pulsar Presto Connector)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-presto) (bundled as [pulsar-sql](pulsar-sql))\n- [Ruby Client](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar-client-ruby)\n\n## Pulsar Runtime Java Version Recommendation\n\n> **Note**:\n>\n> When using Java versions, it is recommended to\n> use [a recent version of a particular Java release (17 or 21)](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=21&os=linux&arch=any)\n> with the most recent bug fixes and security patches.\n> For example, the JVM bug [JDK-8351933](https:\u002F\u002Fbugs.openjdk.org\u002Fbrowse\u002FJDK-8351933) can cause stability issues in\n> Pulsar.\n> [JDK-8351933](https:\u002F\u002Fbugs.openjdk.org\u002Fbrowse\u002FJDK-8351933) was fixed in Java 17.0.17+ and Java 21.0.8+.\n> Pulsar Docker images come with the most recent Java version at the time of release.\n\nWhen using the Pulsar Java client, it is recommended to [set specific system properties and JVM options](https:\u002F\u002Fpulsar.apache.org\u002Fdocs\u002Fnext\u002Fclient-libraries-java-setup\u002F#java-client-performance) to allow optimal performance.\n\n\n### pulsar ver >= 4.1 and master branch\n\n| Component       | Java Version |\n|-----------------|:------------:|\n| Broker          |      21      |\n| Functions \u002F IO  |      21      |\n| CLI             |   17 or 21   |\n| Java Client     |   17 or 21   |\n\nDocker image Java runtime: 21\n\n### 3.3 \u003C= pulsar ver \u003C= 4.0\n\n| Component       |  Java Version   |\n|-----------------|:---------------:|\n| Broker          |       21        |\n| Functions \u002F IO  |       21        |\n| CLI             |    17 or 21     |\n| Java Client     | 8, 11, 17 or 21 |\n\nDocker image Java runtime: 21\n\n### 2.10 \u003C= pulsar ver \u003C= 3.0 \n\n| Component      | Java Version  |\n|----------------|:-------------:|\n| Broker         |      17       |\n| Functions \u002F IO |      17       |\n| CLI            |      17       |\n| Java Client    | 8 or 11 or 17 |\n\nDocker image Java runtime: 17\n\n### 2.8 \u003C= pulsar ver \u003C= 2.10\n\n| Component       | Java Version |\n|-----------------|:------------:|\n| Broker          |      11      |\n| Functions \u002F IO  |      11      |\n| CLI             |   8 or 11    |\n| Java Client     |   8 or 11    |\n\n### pulsar ver \u003C 2.8\n\n| Component   | Java Version |\n|-------------|:------------:|\n| All         |   8 or 11    |\n\n## Build Pulsar\n\n### Requirements\n\n- JDK\n\n    | Pulsar Version   |                                   JDK Version                                    |\n    |------------------|:--------------------------------------------------------------------------------:|\n    | master           | [JDK 21](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=21&os=any&arch=any) or [JDK 25](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=25&os=any&arch=any) |\n    | 4.0+             | [JDK 21](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=21&os=any&arch=any) |\n    | 2.11 +           | [JDK 17](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=17&os=any&arch=any) |\n    | 2.8 \u002F 2.9 \u002F 2.10 | [JDK 11](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=11&os=any&arch=any) |\n    | 2.7 -            |  [JDK 8](https:\u002F\u002Fadoptium.net\u002Fen-GB\u002Ftemurin\u002Freleases?version=8&os=any&arch=any)  |\n\n- zip\n\nThere is also a guide for [setting up the tooling for building Pulsar](https:\u002F\u002Fpulsar.apache.org\u002Fcontribute\u002Fsetup-buildtools\u002F).\n\n> **Note**:\n>\n> This project includes a [Gradle Wrapper](https:\u002F\u002Fdocs.gradle.org\u002Fcurrent\u002Fuserguide\u002Fgradle_wrapper.html) so no separate Gradle installation is needed.\n> Use `.\u002Fgradlew` on Linux\u002FmacOS and `gradlew.bat` on Windows.\n>\n> For a better developer experience, install [Gradle command-line completion](https:\u002F\u002Fdocs.gradle.org\u002Fcurrent\u002Fuserguide\u002Fcommand_line_interface.html#sec:command_line_completion) ([gradle-completion installation](https:\u002F\u002Fgithub.com\u002Fgradle\u002Fgradle-completion?tab=readme-ov-file#gradle-completion)) for bash and zsh shells.\n\n### Build\n\nCompile and assemble:\n\n```bash\n.\u002Fgradlew assemble\n```\n\nCheck source code license headers and formatting:\n\n```bash\n.\u002Fgradlew rat spotlessCheck checkstyleMain checkstyleTest\n```\n\nCheck that bundled dependencies are properly recorded in the binary distribution `LICENSE` and `NOTICE` files. Run this after adding, removing, or upgrading a runtime dependency to confirm the corresponding entry has been added to (or removed from) the LICENSE file. The task builds the binary distribution tarballs as needed:\n\n```bash\n.\u002Fgradlew checkBinaryLicense\n```\n\nCompile and assemble individual module:\n\n```bash\n.\u002Fgradlew :pulsar-broker:assemble\n```\n\nRun Unit Tests:\n\n```bash\n.\u002Fgradlew test\n```\n\nRun Individual Unit Test:\n\n```bash\n.\u002Fgradlew :pulsar-client-original:test --tests \"ConsumerBuilderImplTest\"\n```\n\nRun Selected Test packages:\n\n```bash\n.\u002Fgradlew :pulsar-broker:test --tests \"org.apache.pulsar.*\"\n```\n\nStart standalone Pulsar service:\n\n```bash\n$ bin\u002Fpulsar standalone\n```\n\nCheck https:\u002F\u002Fpulsar.apache.org for documentation and examples.\n\n## Build custom docker images\n\nThe commands used in the Apache Pulsar release process can be found in the [release process documentation](https:\u002F\u002Fpulsar.apache.org\u002Fcontribute\u002Frelease-process\u002F#stage-docker-images).\n\nHere are some general instructions for building custom docker images:\n\n* Java 21 is the recommended JDK version since `branch-4.0`.\n\nThe following command builds the docker images `apachepulsar\u002Fpulsar-all:latest` and `apachepulsar\u002Fpulsar:latest`:\n\n```bash\n.\u002Fgradlew docker-all\n```\n\nAfter the images are built, they can be tagged and pushed to your custom repository. Here's an example of a bash script that tags the docker images with the current version and git revision and pushes them to `localhost:32000\u002Fapachepulsar`.\n\n```bash\nimage_repo_and_project=localhost:32000\u002Fapachepulsar\npulsar_version=$(src\u002Fget-pulsar-version.sh)\ngitrev=$(git rev-parse HEAD | colrm 10)\ntag=\"${pulsar_version}-${gitrev}\"\necho \"Using tag $tag\"\ndocker tag apachepulsar\u002Fpulsar-all:latest ${image_repo_and_project}\u002Fpulsar-all:$tag\ndocker push ${image_repo_and_project}\u002Fpulsar-all:$tag\ndocker tag apachepulsar\u002Fpulsar:latest ${image_repo_and_project}\u002Fpulsar:$tag\ndocker push ${image_repo_and_project}\u002Fpulsar:$tag\n```\n\n## Setting up your IDE\n\nRead https:\u002F\u002Fpulsar.apache.org\u002Fcontribute\u002Fsetup-ide for setting up IntelliJ IDEA or Eclipse for developing Pulsar.\n\n## Documentation\n\n> **Note**:\n>\n> For how to make contributions to Pulsar documentation, see [Pulsar Documentation Contribution Guide](https:\u002F\u002Fpulsar.apache.org\u002Fcontribute\u002Fdocument-intro\u002F).\n\n## Contact\n\n##### Mailing lists\n\n* The mailing lists are the primary contact for the Apache Pulsar project.\n* Your email to the mailing list might be placed in a moderation queue if you haven't joined the mailing list by subscribing before posting.\n\n> **Note**\n>\n> Please note that security-related issues or concerns should not be reported in public channels.\n> Follow the instructions in the [Security Policy](https:\u002F\u002Fpulsar.apache.org\u002Fsecurity\u002F) to contact the [ASF Security Team](https:\u002F\u002Fwww.apache.org\u002Fsecurity\u002F) and the Apache Pulsar PMC directly.\n\n| Name                                                      | Scope                           | Subscribe                                             | Unsubscribe                                               | Archives                                                           |\n|:----------------------------------------------------------|:--------------------------------|:------------------------------------------------------|:----------------------------------------------------------|:-------------------------------------------------------------------|\n| [users@pulsar.apache.org](mailto:users@pulsar.apache.org) | User-related discussions        | [Subscribe](mailto:users-subscribe@pulsar.apache.org?subject=subscribe&body=subscribe) | [Unsubscribe](mailto:users-unsubscribe@pulsar.apache.org?subject=unsubscribe&body=unsubscribe) | [Archives](https:\u002F\u002Flists.apache.org\u002Flist.html?users@pulsar.apache.org) |\n| [dev@pulsar.apache.org](mailto:dev@pulsar.apache.org)     | Development-related discussions | [Subscribe](mailto:dev-subscribe@pulsar.apache.org?subject=subscribe&body=subscribe)   | [Unsubscribe](mailto:dev-unsubscribe@pulsar.apache.org?subject=unsubscribe&body=unsubscribe)   | [Archives](https:\u002F\u002Flists.apache.org\u002Flist.html?dev@pulsar.apache.org)   |\n\n##### Slack\n\nPulsar slack channel at https:\u002F\u002Fapache-pulsar.slack.com\u002F\n\nYou can self-register at https:\u002F\u002Fcommunityinviter.com\u002Fapps\u002Fapache-pulsar\u002Fapache-pulsar\n\n## Security Policy\n\nIf you find a security issue with Pulsar then please [read the security policy](https:\u002F\u002Fpulsar.apache.org\u002Fsecurity\u002F#security-policy). It is critical to avoid public disclosure.\n\n### Reporting a security vulnerability\n\nTo report a vulnerability for Pulsar, contact the [Apache Security Team](https:\u002F\u002Fwww.apache.org\u002Fsecurity\u002F). When reporting a vulnerability to [security@apache.org](mailto:security@apache.org), you can copy your email to [private@pulsar.apache.org](mailto:private@pulsar.apache.org) to send your report to the Apache Pulsar Project Management Committee. This is a private mailing list.\n\nhttps:\u002F\u002Fgithub.com\u002Fapache\u002Fpulsar\u002Fsecurity\u002Fpolicy contains more details.\n\n## License\n\nLicensed under the Apache License, Version 2.0: http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n## Crypto Notice\n\nThis distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and\u002For 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 [The Wassenaar Arrangement](http:\u002F\u002Fwww.wassenaar.org\u002F) for more information.\n\nThe 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.\n\nThe following provides more details on the included cryptographic software: Pulsar uses the SSL library from Bouncy Castle written by http:\u002F\u002Fwww.bouncycastle.org.\n","Apache Pulsar 是一个分布式的发布-订阅消息系统，提供了灵活的消息模型和直观的客户端API。其核心功能包括水平扩展能力、强一致性和顺序保证、低延迟的持久化存储以及支持主题和队列语义等。Pulsar 设计为可作为托管服务部署，具备多租户支持、认证授权机制及资源配额管理等功能。此外，它还提供消费者游标位置跟踪、REST API 用于管理和统计信息获取、地理复制等功能。适用于需要高吞吐量、低延迟且对数据一致性有严格要求的大规模实时数据处理场景。","2026-06-11 02:57:40","top_language"]