Apache Pekko 介绍与选型指南
基于官方下载页与版本支持页梳理 Apache Pekko 多模块组件版本基准、Actor 模型架构与持久化流处理特性、快速上手与 Akka/Erlang OTP 量化选型对比,查询日期 2026-10-18
Apache Pekko 介绍与选型指南
一、信息基准
1.1 基本信息
- 查询日期:2026-10-18
- 本文基准对象:Apache Pekko——多模块 Actor 模型并发与分布式框架,各模块独立版本发布,故本文不挂单一版本号,以"组件-版本基准表"给出官方下载页的各组件最新稳定版
- 维护方:Apache Software Foundation(顶级项目)
- 开源许可:Apache License 2.0(官方下载页声明)
- 项目沿革:官方首页明确"Apache Pekko 是 Akka 2.6.x 在其改用 Business Source License 之前的分叉(fork)",提供 Java 与 Scala 双 API,运行于 JVM
1.2 组件-版本基准表
以下为官方下载页(pekko.apache.org/download.html,查询日期 2026-10-18)列出的各组件最新稳定版(括号内为源码包命名日期):
| 组件 | 最新稳定版 | 源码包日期 |
|---|---|---|
| Pekko Core | 1.7.1 | 2026-09-04 |
| Pekko HTTP | 1.4.1 | 2026-09-06 |
| Pekko gRPC | 1.2.0 | 2025-10-18 |
| Pekko Management | 1.2.1 | 2026-03-06 |
| Pekko Connectors | 1.3.0 | 2026-03-10 |
| Pekko Connectors Kafka | 1.2.0 | 2026-08-18 |
| Pekko Persistence Cassandra | 1.1.0 | 2025-01-16 |
| Pekko Persistence DynamoDB | 1.1.0 | 2024-10-20 |
| Pekko Persistence JDBC | 1.3.0 | 2026-06-14 |
| Pekko Persistence R2DBC | 1.2.0 | 2026-06-22 |
| Pekko Projection | 1.1.0 | 2025-02-24 |
| Pekko SBT Paradox | 1.0.1-incubating | 2024-03-05 |
里程碑版本(官方注明仅供测试与库维护者使用,不得用于生产):Core 2.0.0-M4、HTTP 2.0.0-M2、gRPC 2.0.0-M2、Management 2.0.0-M1、Connectors 2.0.0-M1、Connectors Kafka 2.0.0-M1、Persistence JDBC 2.0.0-M1、Persistence R2DBC 2.0.0-M1。
1.3 版本依据与官方来源清单
- 全部组件版本取自官方下载页原文,jars 以 groupId
org.apache.pekko发布到 Maven Central(官方下载页说明),Core 1.7.1 已在 Maven Centralorg.apache.pekko:pekko-actor-typed_2.13版本列表中交叉核验存在。 - 版本支持策略引自官方 Version Support 页。
| 来源 | 地址 | 用途 |
|---|---|---|
| 官方首页 | https://pekko.apache.org/ | 项目定位与分叉沿革 |
| 下载页 | https://pekko.apache.org/download.html | 组件版本清单 |
| 版本支持页 | https://pekko.apache.org/version-support.html | 语义化版本与支持策略 |
| 入门指南 | https://pekko.apache.org/docs/pekko/current/typed/guide/introduction.html | Actor 模型与上手路径 |
| Maven Central | https://repo1.maven.org/maven2/org/apache/pekko/ | 版本交叉核验 |
二、软件概述
2.1 软件定位
Apache Pekko 官方定位:用于构建并发、分布式、弹性、可伸缩应用的开源框架。Pekko 以 Actor 模型提供更高层次的并发抽象,并在此之上提供持久化、流处理、HTTP 等库;提供 Java 与 Scala API,运行于 JVM。
2.2 官方强调的三个价值点(引自入门指南)
- 无需原子变量或锁等底层并发构造即可获得多线程行为,规避内存可见性问题;
- 系统与组件间透明远程通信,免除自研网络代码;
- 弹性伸缩的集群高可用架构,支撑反应式系统。
2.3 与 Akka 的关系
官方首页表述:Pekko 是 Akka 采用 Business Source License 之前(2.6.x)的分叉,社区将其延续为 Apache 顶级项目;从 Akka 迁移的官方建议是先迁到 Pekko 1.0.x,再升级到更新的 Pekko 版本(Version Support 页)。
三、核心架构
3.1 Actor 模型与 Core
Core 模块提供 Actor 系统:Actor 是封装状态与行为的并发单元,之间通过异步消息通信;typed API 为官方推荐入口。入门指南指出 Actor 模型贯穿全部 Pekko 库,形成一致的编程模型。
3.2 模块矩阵
- 通信与集成:Pekko HTTP(服务端/客户端 HTTP)、gRPC、Connectors(外部系统连接器)、Connectors Kafka;
- 集群运维:Management(集群引导、协调与发现);
- 持久化:Persistence(事件溯源)及 Cassandra/DynamoDB/JDBC/R2DBC 各存储插件;
- 读模型:Projection(把事件溯源日志投影为查询侧视图)。
3.3 版本与兼容策略
官方 Version Support 页要点:采用语义化版本 2.0.0;当前各模块版本基本同步发布;1.x 系列在 2.0.0 正式版发布后仅做重要缺陷与安全修复;由于 2.0.x 移除了大量废弃代码,基于 Pekko 1.x 构建的库大概率无法直接运行在 2.0.x 上。
四、功能特性
4.1 并发与分布式
Actor 模型屏蔽锁与内存可见性问题;集群分片(Cluster Sharding)、分布式数据等模式(官方示例样例列表提供 Scala/Java 双版本)支撑横向扩展。
4.2 事件溯源持久化
Persistence 提供事件溯源抽象,按存储后端可选 Cassandra、DynamoDB、JDBC、R2DBC 插件;Projection 支撑 CQRS 读模型构建。
4.3 流处理与集成
以流式 API(Streams)承载数据管道;Connectors 提供面向外部系统的连接器矩阵(完整清单以官方 Connectors 文档为准),Connectors Kafka 专责 Kafka 集成。
4.4 HTTP 与 gRPC
Pekko HTTP 提供服务端与客户端两级 API;gRPC 模块基于流式 RPC 生成 stub 并与 Actor 集成。
五、快速上手
5.1 官方入门路径
官方入门指南推荐首次接触 Pekko 的用户从 Hello World 项目开始:官方提供 Scala 与 Java 两个 Quickstart 模板(apache/pekko-quickstart-scala.g8 与 apache/pekko-quickstart-java.g8),官方表述"约 30 分钟即可跑通 Hello World 示例,理解 actor system、actor 与消息的定义方式以及测试模块和日志用法"。
来源:https://pekko.apache.org/docs/pekko/current/typed/guide/introduction.html
5.2 Maven 依赖
以 Core 的 typed API 为例(Maven Central 实查 org.apache.pekko:pekko-actor-typed_2.13:1.7.1 存在):
<dependency>
<groupId>org.apache.pekko</groupId>
<artifactId>pekko-actor-typed_2.13</artifactId>
<version>1.7.1</version>
</dependency>
说明:Pekko 各组件 jars 以 groupId org.apache.pekko 发布于 Maven Central(官方下载页);完整示例代码请以上述官方 Quickstart 模板为准。本文为纯官方资料溯源整理,未做本地安装与运行实测。
六、适用场景与限制
6.1 适用场景
- 高并发消息驱动的后端服务:订单处理、IoT 设备会话、风控决策等有状态并发场景;
- 需要事件溯源 + CQRS 的领域建模系统(Persistence + Projection);
- 集群分片支撑的水平扩展有状态服务;
- 从 Akka 2.6.x 迁出、寻求 Apache-2.0 许可可持续性的存量系统。
6.2 限制
- Actor 模型有学习曲线,消息协议设计不当易引入复杂度;
- 2.0.x 与 1.x 二进制不兼容(官方 Version Support 页),升级窗口需评估;
- JVM 框架,非 JVM 语言团队需评估接入成本;
- 各持久化插件与 Connectors 版本节奏不一,组合升级时需对照各模块 Release Notes。
七、同类选型对比
7.1 候选说明
同类候选选取 Akka(原上游框架,Lightbend 维护)与 Erlang/OTP(Actor 思想源头之一的语言运行时与 OTP 框架),版本数据于 2026-10-18 实查 Maven Central 与 GitHub 官方 releases feed。
7.2 量化对比
| 维度 | Apache Pekko(Core 1.7.1) | Akka(com.typesafe.akka) | Erlang/OTP(OTP 29.1.2) |
|---|---|---|---|
| 开源许可 | Apache-2.0 | 2.6.21 及之前为 Apache-2.0;官方(Pekko 官网)表述其此后改用 Business Source License | Apache-2.0(官方 README 许可节) |
| GitHub stars 与最近发版 | stars 官方未公布;Core 源码包 2026-09-04 | stars 官方未公布;Maven Central 元数据最新上传 2.9.0-M2(里程碑) | stars 官方未公布;OTP 29.1.2 发布于 2026-10-14(官方 releases feed) |
| 版本节奏 | 多模块同步发布,1.x 稳定线 + 2.0 里程碑推进 | 由 Lightbend 商业化维护,开放渠道可查至 2.6.21 稳定版与后续里程碑 | 每年主版本(OTP 28/29),补丁版本高频 |
| 兼容矩阵 | JVM(Java/Scala 双 API);Akka 2.6.x 迁移路径明确 | JVM(Java/Scala);BSL 版本生产使用需商业授权评估 | Erlang/Elixir 等语言生态;BEAM 运行时自带监督树、分布式原生能力 |
数据来源:pekko.apache.org/download.html、repo1.maven.org(com.typesafe.akka:akka-actor-typed_2.13)、github.com/erlang/otp 官方 releases.atom 与 README,查询日期 2026-10-18。
7.3 选型建议
JVM 技术栈寻求 Apache-2.0 许可与开放治理的 Actor 框架选 Pekko;已有 Akka 应用且可接受 BSL 商业授权评估的可留在 Akka,但迁移路径以 Pekko 官方指南为先;非 JVM 团队或追求电信级容错与运行时自带分布式的场景可评估 Erlang/OTP 生态。
八、参考链接
- 官方首页:https://pekko.apache.org/
- 下载页:https://pekko.apache.org/download.html
- 版本支持页:https://pekko.apache.org/version-support.html
- 入门指南:https://pekko.apache.org/docs/pekko/current/typed/guide/introduction.html
- 模块索引:https://pekko.apache.org/modules.html
- Maven Central:https://repo1.maven.org/maven2/org/apache/pekko/