Apache Pekko Connectors


系统并非孤立存在。在微服务和云部署的现代世界中,新组件必须与遗留系统交互,这使得集成成为成功的关键。Reactive Streams 为我们提供了一种与技术无关的工具,使这些异构系统能够相互通信,而不会相互过载。
Apache Pekko Connectors 项目是一个开源计划,旨在为 Java 和 Scala 实现流感知、响应式的集成管道。它构建于 Pekko Streams 之上,并从头开始设计以原生理解流处理,并提供用于响应式和面向流编程的 DSL,内置对背压的支持。Pekko Streams 是 Reactive Streams 和 JDK 9+ java.util.concurrent.Flow 的合规实现,因此与其他实现 完全互操作。
Pekko Connectors is a fork of Alpakka 4.0.0, prior to the Akka project's adoption of the Business Source License.
文档
Apache Pekko Connectors 的文档位于 https://pekko.apache.org/docs/pekko-connectors/current/。
要跟上最新版本的发布,请查看 Pekko Connectors releases 和 Pekko Connectors Kafka releases。
从源码构建
pekko 仓库中的构建命令在此处同样有用。使用主分支从源码构建时,Java 17 应能正常工作。Pekko 1.x 最好使用 Java 8 进行构建。如果使用更新版本的 Java 进行构建,则需要指定一系列 --add-opens 设置。
本仓库包含 shell 脚本。这些脚本旨在协助测试 Apache Pekko Connectors。请在运行脚本前检查是否需要运行,并先尝试理解脚本的功能。
本仓库中有一些用于测试的二进制文件。这些文件不包含编译后的产物。
- file/src/test/resources/nested-sample.tar
- google-cloud-pub-sub-grpc/src/main/resources/GSR2.crt
- s3/src/test/resources/keystore.jks
运行测试
详细信息请参阅 Contributing 页面。该页面还包含关于如何准备 Pull Request 的指南。
社区
您可以加入以下论坛和聊天,讨论和询问与 Pekko 及 Pekko connector 相关的问题:
- GitHub discussions:用于提问和一般性讨论。
- Pekko users mailing list:用于 Pekko Connectors 使用讨论。
- Pekko dev mailing list:用于 Pekko Connectors 开发讨论。
- GitHub issues:用于 bug 报告和功能请求。在创建新 issue 之前,请先搜索现有的 issue。如果您不确定是否发现了 bug,建议先在 GitHub discussions 或 mailing list 中询问。
贡献
非常欢迎贡献。如果您有关于如何改进 Pekko 的想法,请毫不犹豫地创建 issue 或提交 pull request。
有关开发工作流程以及如何创建 pull request 的详细信息,请参阅 CONTRIBUTING.md。
行为准则
Apache Pekko 受 Apache 行为准则] 约束。参与本项目即表示您同意遵守其条款。
许可证
Apache Pekko 基于 Apache 许可证 2.0 版本提供。详情请参阅 LICENSE 文件。
买家自负
Pekko Connectors 组件在不同版本之间并不总是保持二进制兼容。随着我们根据您的反馈进行优化和简化,可能会引入不向后兼容的 API 变更。任何模块都可能在未经预先弃用的情况下在任意版本中被移除。
我们的目标是随着时间的推移,提高 Pekko Connectors API 的稳定性和测试覆盖率。